【发布时间】:2011-02-20 04:33:47
【问题描述】:
我不得不使用 $.ajaxSetup() 将 contentType 全局更改为 application/json
$.ajaxSetup({
contentType: "application/json; charset=utf-8"
});
(请参阅这个问题了解为什么我必须使用 application/json ASPNET MVC - Why is ModelState.IsValid false "The x field is required" when that field does have a value?)
但这会破坏 jquery jqrid 并出现此错误:
Invalid JSON primitive: _search
它试图发送的 POST 数据是:
_search=false&nd=1274042681880&rows=20&page=1&sidx=&sord=asc
哪个不是json格式的,所以当然会失败。无论如何要告诉 jqrid 使用什么内容类型?
我在 jqrid wiki 上进行了搜索,但实际上并没有太多关于任何内容的文档。
http://www.trirand.com/jqgridwiki/doku.php?do=search&id=contenttype&fulltext=Search
【问题讨论】:
-
我可能使用的解决方案是没有 $.ajaxSetup,并将任何必须是 application/json 的 $.post() 转换为 $.ajax() 调用。跨度>
标签: jquery json jqgrid content-type