Tag: 内容类型

jQuery POST不在IE10上发送Content-Type

我在Windows 7 64位上使用jQuery 1.9.1和Internet Explorer版本10.0.9200.16686,更新版本10.0.9(KB2870699)。 使用$ .ajax进行POST时,不会发送Content-Type标头。 它在Chrome和其他浏览器中运行良好,我相信以前在IE10上工作正常,所以我怀疑IE10的一些更新引起了一个问题。 我也可以手动创建XMLHttpRequest并发送请求,所以我假设它必须是jQuery中的一个错误才是真正的问题? 我尝试升级到1.10.2,但遇到同样的问题。 我使用$.ajaxSetup设置了contentType: $.ajaxSetup({ contentType: ‘application/json; charset=utf-8’, context: document.body, dataType: ‘json’, accepts: ‘application/json’, processdata: true, cache: false, crossDomain: true, xhrFields: { withCredentials: true } }); 我也尝试将其明确设置为$.ajax选项的一部分。 var options = { url: basePath + ‘login’, type: ‘POST’, dataType: ‘json’, contentType: ‘application/json’, data: JSON.stringify({ UserName: username, Password: password, RememberMe: […]

不同的操作取决于jquery ajax中返回的内容类型

有什么方法可以评估jquery ajax请求的返回内容类型,并根据内容类型执行不同的操作? 例如,如果conten类型是html,我想将它附加到我页面上的某个div。 如果内容类型是text / javascript,我只想评估javascript。 如果内容类型是JSON,我想根据我的需要处理返回的JSON数据。 不确定这是否可行。

从jQuery.Post获取响应内容类型

有没有办法使用jQuery.Post来发现响应的内容类型? 我在模态窗口中有一个表单,其想法是如果表单无效,则会发送一个HTML片段,并且该片段的内容将替换为此片段,如果它有效,我想要一个包含内容的简单字符串闪光通知(此处使用的类型为SO)。 目前我正在测试返回的字符串是否以“success”开头,如果是,则使用字符串的其余部分作为flash通知。 这显然是一个非常糟糕的解决方案,我真的不喜欢它。 理想情况下,我希望能够对响应有条件,如果它是“text / html”然后插入片段,如果它是“application / JSON”那么我不仅可以为帮助者发送消息,但可能其他数据(消息,id,更具体的成功/失败消息类型等)将有助于将来扩展到其他forms。

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

我不得不使用$ .ajaxSetup()将contentType全局更改为application / json $.ajaxSetup({ contentType: “application/json; charset=utf-8” }); (请参阅此问题,为什么我必须使用application / json ASPNET MVC – 为什么ModelState.IsValid为false“当该字段确实有值时,x字段是必需的? ) 但这会破坏jquery jqrid并出现此错误: Invalid JSON primitive: _search 它试图发送的POST数据是: _search=false&nd=1274042681880&rows=20&page=1&sidx=&sord=asc 哪个不是json格式,所以当然它失败了。 反正告诉jqrid使用什么contenttype? 我在jqrid wiki上搜索过,但没有太多关于任何内容的文档。 http://www.trirand.com/jqgridwiki/doku.php?do=search&id=contenttype&fulltext=Search

设置jQuery jqGrid执行的请求的内容类型

我使用的是最新版本的jqGrid :3.6.4 这似乎是一个简单的问题(或者至少它在我花了几个小时之前做过): 当网格向服务器发送请求(到控制器操作)时,其内容类型始终为: application/x-www-form-urlencoded; charset=UTF-8 我希望它是: application/json; charset=utf-8 但是我找不到设置内容类型的方法(例如,没有像在$ .ajax调用中找到的那样的contentType选项)。 所以只是为了澄清,我不是问如何在jQuery服务器请求上设置内容类型,而是专门使用jqGrid,它没有提供明显的选项来执行此操作。 谢谢,奈杰尔。 更新: Oleg的修复解决了它。 以下是网格的选项设置: jQuery(“#ContactGridList”).jqGrid({ url: ‘/ContactSelect/GridData/’, datatype: ‘json’, ajaxGridOptions: { contentType: ‘application/json; charset=utf-8’ }, mtype: ‘POST’, …