问题标签 [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.
jquery - IE8/9 中带有 jQuery 和 XDomainRequest 的 CORS
更新:我强烈建议不要在 XDomainRequest 上投入任何时间,因为它是一个非常糟糕的实现,有很多限制。它基本上只适用于对非 SSL 服务器的 GET 请求,所以你不妨使用 jsonp 或其他什么。
我正在使用 CORS 调用跨域 API,但是 Internet Explorer 出现问题。通过对象在 IE8 和 IE9 中应该可以使用 CORS XDomainRequest
,但是我无法让事情正常工作..
JQuery拒绝为 XDomainRequest 提供本机支持,但是建议使用几个 jQuery 插件来添加此支持。本主题建议使用两个这样的插件:jQuery.XDomainRequest.js和xdr.js,据报道它们可以工作。Afaik,插件应该自动覆盖jQuery.ajax
. 我在这里找到了另一个插件。
我放了一些演示页面,其中包含对启用 CORS 的服务器执行 ajax 请求的相应插件jQuery.XDomainRequest和xdr和jquery.ie.cors 。这些页面在 Chrome 和 Firefox 中运行,但是 IE8/9 立即抛出权限被拒绝错误(甚至在发出请求之前)。这个MSDN 帖子建议添加另一个处理程序xhr.onprogress = function() {};
,但我尝试了这个,它也不起作用。
任何线索我做错了什么?我现在也使用 MS 虚拟服务器对 IE8 进行了测试,但它有完全相同的问题。
编辑:好的,所以我发现问题的一部分是我使用 POST over HTTPS。显然 XDomainRequest 不允许通过 HTTPS 进行 CORS。我可以切换到 HTTP,但我真的需要 POST。
Edit2:请参阅github上的此问题以了解此故事的结尾。事实证明,当使用 HTTP POST 时,xDomainRequest 只能将请求正文(参数)编码为text/plain
. 这几乎使它一文不值,因为每个人都使用application/x-www-form-urlencoded
or multipart/form-data
。
post - XDomainRequest 在发送 POST 请求时没有内容类型
我正在处理一些跨域 ajax 请求。我使用 XDomainRequest 在 IE8 和 IE9 中发送请求。目前,它适用于 Get 请求,但不适用于 Post 请求。当我使用 Fiddle 捕获请求时,我发现 Post 请求没有 Content-Type 标头。有人知道吗?
javascript - 新的 html 脚本标签与 XMLHttpRequest / XDomainRequest
我试图解决 IE6 中对 XDomainRequest 缺乏支持的问题。我想我有一个解决方案,但想知道对这种方法的看法是什么?...
我只需要执行GET
请求,因此我无需尝试创建 XDR 对象,而是script
在需要时动态地将新标签附加到页面(onclick
)。标签的src
将包含查询字符串中的所有必要参数。然后我可以从服务器返回内容。
聪明/丑陋的一点是将内容包装在一个 javascript 函数中,否则该函数本来是onload
XDR 实例的函数。所以我实际上要返回的是一些脚本,其中包含一个函数,其中已经有 xdr.responseText 值。
想法?
ajax - 跨域在 ie9 中将数据从 http 服务器发送到 https 服务器
我有用户输入的数据发布到不同的域和不同的协议。在做了一些阅读之后,我发现微软的XDomainRequest
对象不允许跨域交互(不同的协议,端口,#7 here .
我正在为 FF、Safari 和 Chrome(有效)进行标准 CORS AJAX 调用,并且我一直在尝试将 XDomainRequest 对象用于 IE9。
当我打开一个https
版本的源站时,它成功地将数据发送到接收url,但它无法解析任何数据。xdr.send(post_data);
“看起来”就像在发送它时,我无法找到相关信息或在控制台中看到它。我看着这个,但不太明白;控制台回应:Unable to get value of the property 'postMessage': object is null or undefined
谁能给我一些帮助?
javascript - XDomainRequest 在状态为 200 时未给出响应
XDomainRequest 在状态为 200 时未给出响应
它给出的响应文本为空。请指导我在哪里失踪。
get - XDomainRequest 在 IE9 中不起作用
我正在尝试加载不在 Web 应用程序文件夹中但通过 GET 请求升级的 XML 文档。loadXMLDoc 适用于 FF 和 chrome,但 XDR 不适用于 IE。
我正在调用这样的方法:
我被引导相信问题在于根目录中的上一级,因为它适用于同一目录文件夹
我已经尝试在 web.config 文件中添加 Access-Control-Allow-Origin
但仍然会收到 onError 的警报消息,其中 responseText 为空...
有什么线索吗?
internet-explorer - IE跨域ajax调用XDomainRequest报错
我必须使用以下代码从 iframe 中的页面注销
但是,我在 IE8 中按以下顺序获取更改框:“发送前”、“XDR onerror”、“发送后”。
我在服务器端有以下代码
在我使用 $.getJSON 和 response.setHeader("Access-Control-Allow-Origin", "*") 等之后,我可以验证注销是否适用于 Firefox;但是,当我使用 IE 时它不会注销。
然后我在网上找到了这条评论:
所以我添加了 XDomainRequest。但是,我在 IE8 中收到了警告对话框“XDR onerror”。我应该添加什么才能在 IE 中进行跨域调用?
php - IE 8+ XDomainRequest 'post' 不工作
我正在使用 jQuery.XDomainRequest.js (https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest) 来支持 IE 中的 ajax 请求。
它适用于我的 GET 请求,但 POST 不起作用,它返回 500。(我检查过,它适用于其他浏览器,所以它的 XDR 特定问题)。
我的 ajax 调用如下所示:
这是我第一次遇到 XDomainRequest,我自己做了一些研究,但我不知道为什么会失败。
在此先感谢您的帮助!!!
编辑:我做了一些调试。
我的测试 url = "http:/myserver/test/index.php?key=123" (这是一个跨域请求)
我打印了 json_encode($_GET),我得到:{"key":"123"} 我打印了 json_encodee($_POST),我得到:[]。
显然我的帖子数据没有被发送。
这是发送我的数据的行:
postData 看起来像:
我在 php 代码中的标题如下所示:
javascript - 使用 jquery 跨域 ajax POST ie7
这个脚本有问题,我设法让它在 ie8 中工作,在 chrome 上工作得很好。
我知道 ie7 没有 XDomainRequest() 对象。我如何在 ie7 中复制它。
提前致谢