即10个跨域Ajax请求

问题描述 投票:1回答:2

我开发了一个Web应用程序,该Web应用程序向与托管Web应用程序的服务器不同的域中的服务器上的Web服务发出Ajax请求。

我已将Web服务配置为进行飞行前检查,以设置必要的标头以允许跨域请求。

[在Web应用程序中,我正在使用JQuery客户端访问Web服务。我已经在Jquery命令上设置了属性,以允许跨域访问。

$。support.cors = true;

在Chrome中,一切正常。但是,在IE9中,跨域行为仅部分成功。所有获取请求均有效。但是内容类型为application / json的发布请求失败,因为IE9拒绝使用除text / html之外的任何内容类型进行发布请求。 IE9在请求上切换内容类型,并且在服务器上出现400错误请求时,该请求失败。

我已经阅读过IE10,跨域请求将像在Chrome中一样工作。但是在测试之后,我发现IE10与IE9具有相同的行为。浏览器不会将内容类型设置为application / json。因此发布请求失败。

没有人知道在IE10中是否可能使用text / html以外的其他内容类型进行跨域发布请求。这使得编写除显示数据外无能为力的Web应用程序变得非常困难。

我需要对Jquery请求进行其他设置吗?还是在服务前飞行?

我已经开发了一个Web应用程序,该Web应用程序向与托管Web应用程序的服务器不同域中的服务器上的Web服务发出Ajax请求。我已将Web服务配置为执行pre -...

ajax internet-explorer-10
2个回答
0
投票

您的$ .ajax()调用看起来像什么?您可以尝试将data: 'json'添加到JQuery调用中,以将数据类型强制为json。您也不需要设置$.support.cors = true;,JQuery应该为您解决这个问题(但是暂时保留它是可以的)。


-1
投票

我确实有内容类型参数集数据:'json'。Chrome对此表示敬意,但IE会切换为text / html。我已经读到这是IE9及以下版本中的一个已知问题,但IE10将使用与Chrome相同的ajax实现,但是显然不是这种情况。

© www.soinside.com 2019 - 2024. All rights reserved.