У меня есть форма, которую я хотел бы отправить как JSON через jQuery AJAX, чтобы я мог прочитать ее во временную таблицу на стороне сервера, используя один из собственных методов моего языка программирования (OpenEdge с использованием READ-JSON).Пример JSON, который необходимо создать для моей формы:
{"ttOrder": [
{
"cProduct": "prod01",
"iQty": 123
},
{
"cProduct": "prod02",
"iQty": 456
}
]}
Моя форма состоит из таблицы, содержащей строки информации о продукте, код продукта, описание и т. Д., А также поле ввода количества, например,
<input id="prod01" name="prod01" value="0">
Из поиска по переполнению стека я нашел пару предложений, которые выглядели так, как будто они могут помочь, так как я думаю, что мне нужно сериализовать форму:
(function( $ ){
$.fn.serializeJSON=function() {
var json = {};
jQuery.map($(this).serializeArray(), function(n, i){
json[n['name']] = n['value'];
});
return json;
};
})( jQuery );
var obj = {"ttOrder": [$('#prodform').serializeJSON() ]};
И затем в $.ajax call use
...
data: JSON.stringify(obj),
...
Тем не менее, это дает следующее:
{"ttOrder": [
{
"prod01": "123",
"prod02": "456"
}
]}
Я думаю, что весь код выше создает строку JSON, состоящую из имени и значения ввода в видепара ключ-значение, но у меня нет ноу-хау, как изменить код, чтобы получить то, что мне нужно.
Я думаю, что я пытаюсь добиться, чтобы иметь массив объектовгде имя массива всегда ttOrder (сопоставляется с именем моей временной таблицы), первая запись объекта - это код продукта (всегда cProduct - сопоставляется с именем поля моей временной таблицы) со значением имени ввода,и секПервая запись объекта - это количество (всегда iQty - соответствует значению моего поля временной таблицы).
Пожалуйста, извините за неправильную терминологию, которую я использую.
Спасибо.