Jquery 在jqGrid中使用saveparameters时覆盖默认内容类型

Jquery 在jqGrid中使用saveparameters时覆盖默认内容类型,jquery,jqgrid,Jquery,Jqgrid,我在jqGrid的内联_编辑中使用saveRow函数,默认内容类型是application/x-www-form-urlencoded;字符集=UTF-8,具有以下内容 saveparameters = { "successfunc" : null, "url" : myUrl, "extraparam" : {}, "aftersavefunc" : null, "errorfunc": null, "afterrestorefunc"

我在jqGrid的内联_编辑中使用saveRow函数,默认内容类型是application/x-www-form-urlencoded;字符集=UTF-8,具有以下内容

saveparameters = { "successfunc" : null, "url" : myUrl, "extraparam" : {}, "aftersavefunc" : null, "errorfunc": null, "afterrestorefunc" : null, "restoreAfterError" : true, "mtype" : "POST" } jQuery("#grid_id").jqGrid('saveRow',rowid, saveparameters); 我想将内容类型改写为application/json;charset=utf-8,所以我可以像

successfunc : function(response){ //parse the json response }
这可能吗?如何覆盖它?谢谢

否,不幸的是,网格不允许您在对的特定调用中指定contentType选项-您可以在对的源代码中看到它。因此,它使用了您在问题中提到的默认内容类型

但也许没关系。看起来您真正想要的是接收JSON数据,在这种情况下,发送到服务器的数据的格式并不重要。响应格式由dataType选项控制,jqGrid API中也不能指定dataType选项。但是,它是根据服务器响应中的MIME类型推断出来的:

默认值:智能猜测xml、json、脚本或html 期望从服务器返回的数据类型。如果未指定任何值,jQuery将根据响应的MIME类型尝试推断它。XML MIME类型将生成XML,在1.4中,JSON将生成JavaScript对象,在1.4中,脚本将执行脚本,其他任何内容都将作为字符串返回。作为成功回调的第一个参数传递的可用类型和结果如下:

因此,只需确保在对application/json的响应中设置MIME类型;charset=utf-8,你应该很好