Jquery jQgrid在加载时发布自定义数据

Jquery jQgrid在加载时发布自定义数据,jquery,jqgrid,Jquery,Jqgrid,想知道是否有人使用jQgrid在同一页面上发布来自其他表单的动态数据。动态的,因为我不知道要发布的输入名称,而是宁愿在呈现网格时发布整个序列化表单 我已经在postData中设置了额外的数据,但是它没有正确地在url中传递,因为它看起来是双url编码的。见: $(document).ready(function() { $("#rpt").jqGrid( { url:'/get.json', postData: {filter: $('form').serialize()},

想知道是否有人使用jQgrid在同一页面上发布来自其他表单的动态数据。动态的,因为我不知道要发布的输入名称,而是宁愿在呈现网格时发布整个序列化表单

我已经在postData中设置了额外的数据,但是它没有正确地在url中传递,因为它看起来是双url编码的。见:

$(document).ready(function() {
  $("#rpt").jqGrid( 
  { url:'/get.json',
   postData: {filter: $('form').serialize()}, 
  datatype: "json", 
  gridview: true,
  colModel:[id:'col1']
 });
});
通过这里和其他站点上的各种线程,我在表单上尝试了建议的JSON.stringify和serializearray(),以及自定义函数,但都没有成功。表单数据显示为已编码,在另一侧无法通过_GET获得


任何建议都会很好-谢谢

我不确定您希望从服务器端的表单中获取数据的表单。尽管如此,我还是建议您使用以下形式的
postData

postData:{
过滤器:函数(){
var result={},i,item,
formInfo=$('form#myForm').serializeArray(),
l=formInfo.长度;
对于(i=0;i
如果出现以下测试形式


4.
5.
6.
7.
结果
变量将

var结果={
a:“来自a的1”,
b:“b中的2”,
c:“c中的3”,
d:“4”,
e:“5”
}
因此,不会对数据进行任何转换。然后我建议使用
JSON.stringify
将对象
result
转换为JSON字符串。(取决于可能不需要的服务器代码。)因此,
filters
参数将作为

{“a”:“a”中的“1”、“b”:“b”中的“2”、“c”:“c”中的“3”、“d”:“4”、“e”:“5”}

您可以使用或检查相应的小型服务器的HTTP流量。

Hello Oleg!我尝试将整个表单数据作为POST数据中的搜索参数发送,并尝试获得与MVC控制器中的强类型模型相同的结果。但我失败了。这是我的帖子。如果你能分享你的想法来实现这一点,那将非常有帮助?@Murali:我必须为我的一位客户做一些紧急工作。稍后,我将尝试阅读您的问题,并尝试帮助您。你能在你的问题后面加上更多的细节吗?例如,
SearchViewModel
的定义以及带有
id=“search form”
的表单的HTML片段。您是否分析了IE或Chrome的开发人员工具,或者哪些HTTP请求被发送到服务器?您也可以在错误消息中包含请求和响应的详细信息。我已使用视图模型和表单以及其他必需信息更新了我的问题。我已经看到我的post请求参数使用Firebug,我可以通过使用request[“PostData”]在controller中以JSON字符串的形式检索它,但我如何通过检索操作方法参数viewModel,然后是viewModel.Name等来获取强类型的参数呢?