gpt4 book ai didi

javascript - 免费 jqGrid : wrapping POST data in beforeSubmit function

转载 作者:行者123 更新时间:2023-12-02 13:45:52 26 4
gpt4 key购买 nike

我正在使用 Oleg 的免费 jqGrid。在我的表单编辑之后,我尝试包装我的 POST 数据,以便在 PHP 中我得到一个很好的数组,例如:

Array(
oper => edit,
data => Array(
foo => '123',
bar => 'xyz',
...
)
)

操作符和它所操作的数据很好地分开。

我的直觉方法是这样的:

            beforeSubmit: function( postdata, formid ) {
var d = {};
d.data = postdata;
console.log( d );
postdata = d;
return( [true, ''] );
}

不幸的是,这不起作用; console.log(d) 很好地打印了所需的结果,但 postdata 没有改变。我不太精通 javascript,但我怀疑全局 postdata 没有在函数内更改,不幸的是该函数不允许我返回它。

有关如何解决此问题的任何建议。这是一个小问题,但我只是认为它看起来更结构化,并且更易于维护,以便在运算符与其数据之间进行清晰的分离。

谢谢。

最佳答案

在您的情况下,回调beforeSubmit并不是最佳选择。相反,我建议您使用 serializeEditData 回调,您可以将其定义为表单编辑选项(在 jqGrid 的 formEditing 参数内)或作为参数jqGrid 的。回调 get postdata 作为唯一参数,它应该返回 JSON 字符串的修改对象,该对象应该发送到服务器。代码可能如下所示

serializeEditData: function (postdata) {
var d = {
oper: postdata.oper,
data: $.extend(true, {}, postdata) // make copy
};
delete d.data.oper; // remove unneeded oper property
return d;
}

关于javascript - 免费 jqGrid : wrapping POST data in beforeSubmit function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41404189/

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