我一直在使用postData
动态设置请求参数.点击一些外部按钮,我更改了网格URL,并在postData
下面设置了一些额外的参数.JqGrid似乎附加了所有这些参数并且它是所有后续请求的数据.有没有办法我们可以控制或避免每次发送这些参数?
我的网格定义:
jQuery(function() {
$('#grid').jqGrid({
url: 'rates.html',
postData: {
name: function() { return $("#name").val(); },
rate: function() { return $("#rate").val(); },
.....
}
....
});
});
Run Code Online (Sandbox Code Playgroud)
在这里,在POST请求:我看到name
,rate
PARAMS与其他标准的jqGrid参数等一起去sortname
,sidx
,rows
,等...
现在,如果单击外部按钮,如果我更改网格URL如下所示
$('#changeReqBtn').click(function() {
$('#grid').setGridParam({ url: 'changeReq.html',
postData: { msgIds: msgIds } });
$('#grid').trigger("reloadGrid");
});
Run Code Online (Sandbox Code Playgroud)
现在jqGrid发送name
,速率,msgIds
参数
现在,如果我将URL更改回rates.html,例如,点击刷新图标,jqGrid将发送上一个msgIds
参数以及之前的值.当URL更改时,我不想在新请求中发送先前的请求参数.有没有办法实现这个目标?
如果我正确理解您的问题,您应该避免使用setGridParam
并执行以下操作.您可以使用$('#grid').jqGrid("getGridParam", "postData")
获取内部参数的引用postData
.例如,
var myPostData = $('#grid').jqGrid("getGridParam", "postData");
Run Code Online (Sandbox Code Playgroud)
因此,您可以使用delete myPostData.msgIds
删除以前添加的方法的任何属性setGridParam
.