问题标签 [xdomainrequest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1906 浏览

javascript - 为什么 XDomainRequest 在 IE8 或 IE9 中不起作用

下面是一个 XDomainRequest 从 javascript 到不同子域的 Nginx 上的 PHP 后端。返回结果总是执行错误函数,并且XDomainRequest不给出调试细节。代码有问题吗?

Javascript

带有 PreFlight 选项检查的 PHP

我已经获得了跨子域调用,可以在所有其他浏览器中工作。IE8 和 IE9 有什么特别之处,比如特别之处Allow-Headers还是我缺少的其他东西?

0 投票
2 回答
6635 浏览

ajax - 将跨域 AJAX/XDomainRequest 发布到 Web 服务

我花了很多时间阅读这里和其他各种网站上的所有各种帖子,并拥有以下代码:

该函数调用如下:

这在 Chrome 和 Safari 等成熟的浏览器中发布了一个标准的跨域 AJAX 帖子,并且可以完美运行,包括在 iPad 等上。但是,我无法在 IE < 10 中使用它。

相关代码为:

SO 和其他人的各种线程建议这应该有效,包括这里: 如何使用 POST 方法在 XDR 中发送 JSON 数据

但它没有,我不知道为什么,尽管怀疑它与 POST 和数据有关。

所以我尝试了各种实验;

发布到不带参数的 Web 方法;

这在本地服务器上运行时似乎有效,但在添加到 Web 托管服务器时无效。我收到了200成功代码,但似乎无法通过 IE 控制台或 Fiddler 实际看到响应。无论如何,它似乎“离线”工作的事实可能是一个红鲱鱼......?

发布到带有参数的方法

这总是http 500在 IE 中返回错误,但在成熟的浏览器中完美运行。

我在 Fiddle 或 IE 控制台中都没有收到错误信息。

后者将其显示为请求标头:

和响应标头:

Response Body为空,我无法阅读任何错误消息,因此不知道此错误发生的位置或原因。

我怀疑问题出在 POST 或表单数据上?

我尝试将数据作为对象发布,而不是 JSON.Stringified,但这不起作用,尽管我不希望它

Fiddler 似乎能够告诉我 IE 控制台不是这样的:

两者都出现在“Auth”选项卡下,但在使用 Chrome 时也会出现在 Fiddler 中,这会返回肯定的响应。

我注意到 Chrome 发布了两次数据,在我所有的阅读过程中,我知道这是正确的(虽然现在不记得为什么), IE 没有,它只是在做第一次发布。我认为这是正确的,因为它是 AJAX 的功能?

我的 Web.Config 文件添加了正确的标题:

显然,我知道这里的跨域问题,并遵循了我能找到的所有示例,但我现在被困住了......因此在这里发布。

请不要告诉我不要使用 ASMX 网络服务,或者不允许跨域发布,我现在需要一个解决方案!:-)

上面发布的链接中原始问题的作者建议他通过在服务器端响应中发现一个错误来解决他的问题,但是我的在除了旧版本的 IE 之外的所有东西都可以正常工作(顺便说一下,它可以在 IE10 中工作)所以我看不到它是服务器端错误 - 如果是,则无法获得任何信息,Error 500因此无法识别。

0 投票
3 回答
3358 浏览

javascript - 为什么 IE XDomainRequest 不发送 Referer 标头

当我通过 XDomainRequest 对象在 IE 中执行 CORS 时,未发送 Referer HTTP 标头。是否有任何官方文档涵盖此内容?我完全理解,依赖Referer HTTP header 基本上是错误的想法,但是没有确凿的证据我被困在这里,并且无法证明我们的架构师是错误的。

转储示例:

IE 请求

铬请求

0 投票
0 回答
1269 浏览

jquery - Ajax Post 返回 500 错误 ie8 和 ie9

我已经浏览了所有关于此的 stackoverflow 帖子,但仍然无法弄清楚它为什么不起作用。

我有一个简单的 jquery ajax 帖子,可以在除 ie8 和 ie9 之外的任何地方使用。

服务器是asp.Net

Index.html 有:

jQuery帖子:

我还添加了这个插件来解决 Xdomin 安全问题。 https://github.com/jaubourg/ajaxHooks/blob/master/src/xdr.js

通过查尔斯的错误和响应

0 投票
2 回答
1874 浏览

json - 无法接受 XDomainRequest POST 到 WebAPI

我有一个控制器类,我可以在 API 上发起 Get 调用,但是当我尝试 POST 命令时,我得到 HTTP/1.1 415 Unsupported Media Type

有什么地方我必须允许 POST 吗?我将 [HttpPost] 放在方法前面,但没有运气。

Javascript 邮政编码:

}

0 投票
1 回答
199 浏览

internet-explorer - IE10+ 有 XDomainRequest 对象吗?

我知道 IE10+ 支持使用 XMLHttpRequest 的 CORS,就像所有其他浏览器一样。然而,不太清楚的是,IE10+ 中是否还存在 XDomainRequest 对象。换句话说,new XDomainRequest()在 IE10+ 中调用会返回什么(它是否不返回任何内容、新的 XDomainRequest 对象、新的 XMLHttpRequest 对象或其他内容),IE10 与 IE11 的行为是否相同?

PS 我知道这可以通过 IE 浏览器轻松验证,但是 a)我无法访问 Windows 机器,并且 b)Microsoft 文档对这种行为保持沉默。

编辑:我写了一个函数,我相信它会揭示答案,如果有人愿意在 IE10 和 IE11 中运行它并报告回来:http: //jsfiddle.net/Xck9K/6/

0 投票
1 回答
81 浏览

internet-explorer - XDomainRequest 可以用来发出同源请求吗?

如果你使用 IE8/9 的 XDomainRequest 对象发出同源请求会发生什么?请求是否成功?如果是这样,它是否以与跨域请求相同的方式受到限制?

0 投票
3 回答
3334 浏览

javascript - 我如何使用 XDomainRequest?尝试访问适用于除 IE 之外的所有内容的 JSON 跨域 Cors

我编写了一些访问 JSON 文件、提取对象并使用 jquery 附加 html 的代码,这是使用 CORS 完成的。这在除 IE 8 和 9 之外的所有应用程序中都很完美。

我读到 XDomainRequest 是完成这项工作的方法,但我不知道如何。任何帮助表示赞赏。

请不要担心 html1、click1 等 - 在完整文件中一切正常。我只需要有关 XDomainRequest 的帮助。

编辑:

我不能使用 JSONP。

我没有收到错误。我的问题是如何使用 XDomainRequest 提取数据,就像使用 getJSON 一样?

更新代码:

0 投票
0 回答
252 浏览

angularjs - 在 IE9 上使用 RequireJS 的跨域错误

我正在使用 RequireJS 将几个(xdomain)文件从 domainB 加载到 domainA,包括 AngularJS 框架,如下所示:

该行在deps:['app']IE9 中引发“访问被拒绝”错误。这不会在 IE10、Chrome 或 FireFox 中发生。

有人知道为什么吗?

0 投票
0 回答
109 浏览

http - XDomainRequest 到具有不同协议的不同服务器

我目前正在编写一个脚本,它故意将 jquery 作为依赖项排除在外。

因此,使用 Native JS 我正在向服务器发出 CORS 请求。但是,我无法控制浏览器的协议。有些可能是http:,有些可能是https:。我发布到的服务器将始终是 https:即使 location.protocol 与请求的域协议不同,我如何使用 IE 8 和 9 中的本机 XDomainRequest 对象允许发布到这些服务器?