你怎么能在grid.base.js的$.ajax
通话填充网格包含的代码中找到看起来像下面:
$.ajax($.extend({
url: ts.p.url,
type: ts.p.mtype,
dataType: dt,
data: $.isFunction(ts.p.serializeGridData) ?
ts.p.serializeGridData.call(ts, ts.p.postData) : ts.p.postData,
complete: function (req, st) {
...
}
...
}, $.jgrid.ajaxOptions, ts.p.ajaxGridOptions));
所以,你可以使用的jqGrid的ajaxGridOptions
选项来设置或覆盖$.ajax
请求的任何参数。由于我只使用JSON请求到我的服务器,我喜欢设置
$.extend($.jgrid.defaults, {
datatype: 'json',
{ajaxGridOptions: { contentType: "application/json" },
{ajaxRowOptions: { contentType: "application/json", type: "PUT" },
...
});
的ajaxRowOptions
的contentType
一般设置在grid.inlinedit.js为行编辑使用。对于表格编辑还有其他的参数,这是我设置也可以作为全局设置:
$.extend($.jgrid.edit, {
ajaxEditOptions: { contentType: "application/json" },
...
});
$.extend($.jgrid.del, {
ajaxDelOptions: { contentType: "application/json" },
mtype: "DELETE",
...
});
我的服务器你怎么能看到的是一个问题的REST服务(主要是发达国家在WFC和ASP.NET MVC的其余部分)。由于$.jgrid.edit
是“添加”和“修改”项目的设置,因此我无法仅更改进行“编辑”,因此我在navGrid()
的参数中执行此操作。
,你也觉得有趣的设置
最后阿贾克斯参数是ajaxSelectOptions
。您可以按照与ajaxGridOptions
相同的方式进行设置。如果在editoptions
或searchoptions
内使用dataUrl
参数,则ajaxSelectOptions
的参数很有用。我在colModel
的内部使用dataUrl
来定义edittype: 'select'
类型的列。选择选项的可能值将从服务器加载,以进行内联或表单编辑或搜索对话框内。因为对于这样的数据加载使用ajax,所以有相应的ajaxSelectOptions
选项。
此致敬礼。
谢谢奥列格!那样做了;我在示例中添加了示例代码。 – Nigel 2010-04-20 23:13:54
很奇怪!我也使用jqGrid 3.6.4。因为我使用jQuery 1.4.2,所以我必须使用http://github.com/tonytomov/jqGrid的版本,但是从3.6(3.6.0)开始,存在ajax功能。您可以在您的jqGrid版本中搜索ajaxGridOptions以验证它。我建议你从http://github.com/tonytomov/jqGrid加载最后一个未压缩版本的jqGrid,修改你的代码以使用这个js-files(例如grid.loader.js),在grid.base.js里设置断点(搜索.ajax)和jQuery.ajax(也是未压缩的jquery-1.4.2.js)。您也可以使用$ .jgrid.defaults进行一项测试。 – Oleg 2010-04-20 23:20:09
恭喜!!!一个好问题就是解决问题! – Oleg 2010-04-20 23:36:39