jqgrid-使用附加postData参数序列化GridData
我试图使用serializeGridData将我的postdata转换为JSON。这是我的密码jqgrid-使用附加postData参数序列化GridData,jqgrid,Jqgrid,我试图使用serializeGridData将我的postdata转换为JSON。这是我的密码 jQuery(function() { $('#grid').jqGrid({ ........ ........ postData: { param1: function() { return $("param1").val(); }, param2: function() { return $("param2").va
jQuery(function() {
$('#grid').jqGrid({
........
........
postData: {
param1: function() { return $("param1").val(); },
param2: function() { return $("param2").val(); },
searchText: function() { return $("searchText").val(); },
totalRecords: function() { return msgGrid.getGridParam("records"); }
},
serializeGridData: function (postData) {
return JSON.stringify(postData);
},
ajaxGridOptions : {
contentType: 'application/json; charset=utf-8'
}
});
});
进入serializeGridData的postData不会将postData{}中定义的自定义参数替换为实际值。我已经在firebug中进行了调试,这就是数据是如何被序列化到GridData方法的。所以最终JSON.stringify不会转换param1,param2。。请求数据中的值。如何修复它以发送自定义参数的实际值?提前谢谢
_search false
nd 1349195468864
page 1
rows 25
sidx "sortcol_name"
sord "desc"
param1 function() // expect to have actual param1 value
param2 function()
searchText function()
totalRecords function()
当
JSON.stringify
遇到一个函数时,它。尝试在不使用函数的情况下设置数据,如下所示:
postData: {
param1: $("param1").val(),
// etc.
}
我认为您应该在
serializeGridData
回调中枚举postData
的所有属性,并在其中使用$.isFunction
来验证某个属性是否是方法。对于方法,您应该调用该方法并将结果保存在同名的属性中。查看的代码中的serializeRowData
的实现。您是否尝试过的代码?@Oleg:我刚刚尝试过,工作非常完美。谢谢你,那很有效。非常感谢,你帮了我大忙。当你评论我是否尝试过这个答案时,我只是在做一些改变。再次感谢你!!