gpt4 book ai didi

当 contentType=application/json 时 Jquery JQGrid 中断?

转载 作者:行者123 更新时间:2023-12-01 03:55:54 24 4
gpt4 key购买 nike

我必须使用 $.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

最佳答案

首先我可以转发我的旧答案Setting the content-type of requests performed by jQuery jqGrid 。它显示了 ajax 请求在 jqGrid 内部的样子。因此,您应该使用 jqGrid 的 ajaxGridOptions 参数,而不是覆盖 $.ajaxSetup 的全局设置。

此外,在同一个答案中,您可以看到如何使用 jqGrid 的 serializeGridData 参数来进行自定义序列化。在 How do I build a JSON object to send to an AJAX WebService?您可以阅读参数的 JSON 编码应该是什么样子。

如果您在使用 serializeGridDataajaxGridOptions 时遇到问题,您应该在您的问题中包含使用 jqGrid 的代码片段以及您的服务器网络方法的原型(prototype)您使用的服务。

关于当 contentType=application/json 时 Jquery JQGrid 中断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2845494/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com