问题标签 [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 投票
3 回答
6498 浏览

ajax - Is it IMPOSSIBLE to POST JSON with XDomainRequest?

As I am not able to find a way to set the content-type to JSON for the data I sent via XDomainRequest,

I naturally ask:

Is it IMPOSSIBLE to POST JSON with XDomainRequest?

"Only text/plain is supported for the request's Content-Type header"

0 投票
1 回答
4125 浏览

ajax - 跨域ajax jsonp请求在IE8中不起作用

使用 jquery-1.9.1 ,我启用了 CORS 支持。

然后我发出如下所示的 ajax 请求,我还从服务器端启用了 jsonp 回调支持。

我已经在 jboss 中部署了它并从另一台计算机(不同的域/IP 地址)访问了该页面。此 ajax 调用适用于另一台计算机和同一台计算机的 FF 和 Chrome。

它也适用于 IE,但在同一台计算机上。

当从我部署的计算机以外的其他计算机访问时,将无法在 IE 中工作。

谷歌搜索后,我了解到 IE* 不允许由 jquery 进行的跨域 ajax 调用。而且 jquery 不支持 IE 的 XDomain 对象。

总而言之,如何让 jquery 使用 IE 的 XDomain 对象?,我几乎完成了应用程序(我的错,我没有检查 XDomain 的事情)。我无法再次重建代码。还有其他解决方案吗?

0 投票
1 回答
5208 浏览

ajax - XDomainRequest 中止 IE 9 上的 POST

我正在做一个跨域 Ajax 调用。

我的代码:

上面的代码在所有浏览器中都可以正常工作,但在 IE 中有时会显示类似 (aborted) 的错误。

为了克服这个错误,我在谷歌搜索并没有找到任何好的解决方案。

您可以看到显示(中止)的错误消息。 http://postimg.org/image/k01u6t9v5/

当我对特定 URL 进行单独调用时,它没有显示任何(中止)消息(显示成功警报)。但是当我进行多次调用(如图所示)时,它会显示出这种类型的错误。

如何克服这个问题?

请帮忙

提前致谢

0 投票
1 回答
225 浏览

javascript - XDomainRequest 发布数据未显示

我无法通过 Internet Explorer XDomainRequest 获取 POST 数据。简直什么都没有出现。。

我创造了一个小提琴

parim.ee/test.php只是打印出来$_POST$_REQUEST变量如下:

0 投票
1 回答
755 浏览

internet-explorer - IE 的骨干 fetch() 失败

我正在使用 Backbone 的 fetch 从远程服务器获取数据。它适用于除 IE 之外的所有浏览器(当然),因为 IE 要求您使用 XDomainRequest 而不是 XHR 进行跨站点。我是否必须用类似下面的代码替换应用程序中的每个提取?

当我使用上述代码时,我也收到 SCRIPT5: "Access is denied" 错误。

是否有可能在 IE 中没有正确处理主干提取,或者我做错了什么?

0 投票
0 回答
262 浏览

ruby-on-rails - 让 Rails 从 XDR 跨域请求中解析 JSON,内容类型为:nil

我正在构建一个客户端应用程序,它使用 CORS 将 JSON 跨域发布到不同服务器上的 Rails 3.2 应用程序。不幸的是,我们需要支持 IE9,这意味着我们回退到使用 XDomainRequest (XDR) 在 IE 中发送我们的跨域请求。

XDR 的主要限制是它不支持设置像“Content-type”这样的标头,这意味着 Rails 服务器不知道它正在接收 JSON,因此不解析它。

我通过使用jQuery.param将数据作为 url 编码的表单数据发送来简单地解决了这个问题。但是,我们需要发送的一些数据是嵌套的 GeoJSON,它会出现乱码jQuery.param,所以我必须将 POST 正文作为 JSON 发送。

在 config/initializers/wrap_parameters.rb 我设置:

model_name...所以当内容类型为 nil 时,ActionController 将参数嵌套在里面。

但是,我仍然需要 Rails 来尝试JSON.parse()从请求 where 中获取数据"Content-type" => nil。我可以在需要它的控制器中手动执行此操作(这不是很干净),但我希望我能够让 Rails 为所有{content-type: nil}请求执行此操作。

我一直在查看 Rails 源代码,但我发现的内容并没有让我很有希望。这个方法似乎被硬编码来检查:json,如果是,则解析,这意味着我不能从配置中修改它: https ://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/中间件/params_parser.rb#L43

谁能想出一个聪明的解决方案?

0 投票
1 回答
1216 浏览

javascript - IE8/9 AJAX/CORS (XDomainRequest) 发送referer header

XDomainRequest在 IE8 & 9 中使用向服务器发送请求。在XMLHttpRequests其他浏览器中,anOriginRefererheader 都被发送,看起来像这样:

XDomainRequest只发送 Origin(所以我看不到完整的调用 URL)。有没有办法强制它也发送Referer?我试图避免将其作为查询字符串或 POST 参数发送。

我知道这XDomainRequest不允许自定义标头,但我希望因为 Referer 是标准标头,所以可能有某种方法可以启用它。

0 投票
1 回答
929 浏览

node.js - 将用户/通行证从 IE8/9 发送到 node.js 代理

我们有使用 REST API 的主干.js 应用程序。每个请求用户/通行证都应该发送到 API。这是我们发送请求的方式:

`Backbone.BasicAuth.set(tempUser, tempPass);

这不适用于 IE 8/9,因此我们制作了 node.js 服务器,并使用 node-http-proxy 模块制作了代理服务器,它将拦截所有请求。

这是节点代理服务器:

我们现在的问题是将用户/通行证发送到节点代理服务器,我们知道 XDomainRequest 不支持自定义标头,并且我们不喜欢将用户/通行证作为查询字符串发送(它不安全)。

有没有一种方法可以将用户/密码从 IE 8/9 发送到节点代理服务器?

0 投票
1 回答
543 浏览

internet-explorer - 允许在 IE9 或更早版本中通过 XHR 请求 CORS DELETE

根据我在 IE9/IE8 中阅读的有关 CORS 支持的所有文档,似乎很清楚:

  1. 您无法在这些浏览器中使用XMLHttpRequest. 您必须使用 IE 的专有 XDomainRequest.
  2. XDomainRequest不支持预检。我对这个限制的理解表明您只能发送 POST 或 GET CORS 请求,并且这些请求可能只包含简单的标头。此外,微软对 XDR 请求还有其他非常奇怪的限制,但这在这里并不完全重要。

所以,我所拥有的是一个页面http://192.168.1.1:8080。使用XMLHttpRequest时,我试图向 发送 DELETE 请求http://192.168.1.1.9000。我完全预料到这会失败。在我重新考虑相关请求以确保它在我切换到使用 XDR 后适用于 CORS 请求之前,我只是在进行完整性检查。同样,我在这里使用 IE8。

奇怪的是,请求似乎成功了。DELETE 操作处理程序在服务器的 9000 端口被命中。我返回了响应,并且能够访问responseTextXHR 对象实例。

我无法想象为什么这实际上有效。似乎不应该有,除非我在这里遗漏了一些东西。有没有人有任何想法?

0 投票
1 回答
327 浏览

javascript - XDomainRequest 可以用来加载和绘制图像吗?

我正在从不同域的服务器加载图像。这些图像启用了 CORS(它们有这个标题:)Access-Control-Allow-Origin: *。在现代浏览器中,使用image.crossOrigin = '',我可以安全地将它们绘制到<canvas>.

我也想在 Internet Explorer 9 上做同样的事情。IE9 不支持crossOrigin图像。它确实具有XDomainRequest使用标头的跨域请求Access-Control-Allow-Origin

是否可以通过加载 PNGXDomainRequest并将其绘制到画布上?