Nig*_*gel 22 jquery content-type jqgrid
我使用的是最新版本的jqGrid:3.6.4
这似乎是一个简单的问题(或者至少它在我花了几个小时之前做过):
当网格向服务器发送请求(到控制器操作)时,其内容类型始终为:
application/x-www-form-urlencoded; charset=UTF-8
Run Code Online (Sandbox Code Playgroud)
我希望它是:
application/json; charset=utf-8
Run Code Online (Sandbox Code Playgroud)
但是我找不到设置内容类型的方法(例如,没有像$ .ajax调用那样的contentType选项).
所以只是为了澄清,我不是问如何在jQuery服务器请求上设置内容类型,而是专门使用jqGrid,它没有提供明显的选项来执行此操作.
谢谢,奈杰尔.
更新: Oleg的回复修复解决了它.
以下是网格的选项设置:
jQuery("#ContactGridList").jqGrid({
url: '/ContactSelect/GridData/',
datatype: 'json',
ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },
mtype: 'POST',
...
Run Code Online (Sandbox Code Playgroud)
Ole*_*leg 26
如何在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));
Run Code Online (Sandbox Code Playgroud)
因此,您可以使用ajaxGridOptionsjqGrid选项来设置或覆盖任何$.ajax请求参数.因为我只对我的服务器使用JSON请求,所以我设置了contentType类似的常规设置
$.extend($.jgrid.defaults, {
datatype: 'json',
{ajaxGridOptions: { contentType: "application/json" },
{ajaxRowOptions: { contentType: "application/json", type: "PUT" },
...
});
Run Code Online (Sandbox Code Playgroud)
将ajaxRowOptions主要应用在grid.inlinedit.js用于行编辑.对于表单编辑,还有其他参数,我也将其设置为全局设置:
$.extend($.jgrid.edit, {
ajaxEditOptions: { contentType: "application/json" },
...
});
$.extend($.jgrid.del, {
ajaxDelOptions: { contentType: "application/json" },
mtype: "DELETE",
...
});
Run Code Online (Sandbox Code Playgroud)
如何看待我的服务器是RESTfull服务(主要在WFC中开发,其余在ASP.NET MVC中开发).因为$.jgrid.edit是"添加"和"修改"项目的设置,我无法mtype: "PUT"仅为"编辑" 更改,所以我在参数中执行此操作navGrid().
您可以找到的最后一个ajax参数也很有趣ajaxSelectOptions.您可以按照相同的方式设置它ajaxGridOptions.ajaxSelectOptions如果dataUrl在editoptionsor中使用参数,则参数很有用searchoptions.例如,我dataUrl在内部colModel用于定义类型的列edittype: 'select'.select服务器的可能值将从服务器加载以进行内联或表单编辑或在搜索对话框内部.因为对于这样的数据加载使用了ajax,所以有相应的ajaxSelectOptions选项.
最好的祝福.
| 归档时间: |
|
| 查看次数: |
21856 次 |
| 最近记录: |