gpt4 book ai didi

jquery - 从表单创建自定义 JSON 字符串

转载 作者:行者123 更新时间:2023-12-01 03:50:35 25 4
gpt4 key购买 nike

我有一个表单,我想通过 jQuery AJAX 以 JSON 形式提交,以便我可以使用我的编程语言的 native 方法(OpenEdge 使用 READ-JSON)将其读入服务器端的临时表中。我的表单需要生成的 JSON 示例是:

{"ttOrder": [
{
"cProduct": "prod01",
"iQty": 123
},
{
"cProduct": "prod02",
"iQty": 456
}
]}

我的表单由一个表格组成,其中包含产品信息、产品代码、描述等行和数量输入字段,例如

<input id="prod01" name="prod01" value="0">

通过搜索 Stack Overflow,我发现了一些看起来可能有帮助的建议,因为我认为我需要序列化表单:

(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调用中使用

...
data: JSON.stringify(obj),
...

但是,这给出了以下结果:

{"ttOrder": [
{
"prod01": "123",
"prod02": "456"
}
]}

我认为上面的所有代码所做的都是创建一个 JSON 字符串,其中包含输入名称和值作为键和值对,但我不知道如何更改代码来获取我想要的内容需要。

我认为我想要实现的是拥有一个对象数组,其中数组的名称始终为 ttOrder (映射到我的临时表名称),对象的第一个条目是产品代码(始终为 cProduct - 映射到我的临时表字段名称),其值为输入名称,对象的第二个条目是数量(始终为 iQty - 映射到我的临时表字段值)。

请原谅我使用的任何不正确的术语。

谢谢。

最佳答案

第一个例子很接近。这应该在这里工作:

(function( $ ){
$.fn.serializeJSON=function() {
return jQuery.map($(this).serializeArray(), function(i, n){
var json = {};
json['cProduct'] = n['name'];
json['iQty'] = parseInt(n['value']);

return json;

}).get();
};
})( jQuery );

var obj = {"ttOrder": $('#prodform').serializeJSON()};

关于jquery - 从表单创建自定义 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9087302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com