【问题标题】:HTML5 Cross-domain XmlHttpRequest vs. Older XmlHttpRequestsHTML5 跨域 XmlHttpRequest 与旧 XmlHttpRequests
【发布时间】:2012-07-07 21:20:38
【问题描述】:

我已经感觉到很多关于使用新的 HTML5 JS XHR 技术的简单跨域 XmlHttpRequest 方法的讨论。给定下面的标准 JavaScript XHR 代码...

  var xhr=new XMLHttpRequest();
  xhr.open("GET",url,false);
  xhr.send();
  var output=xhr.responseXML;

...提供相同输出的等效 HTML5 XHR 跨域代码是什么?

【问题讨论】:

  • @fmsf, jsonp 不是 HTML5 特定的。
  • 我想你在想CORS,这与HTML 5无关。
  • 是的,我对 CORS 很熟悉,只是对其他的东西有点困惑……现在明白了 :)

标签: javascript xml html xmlhttprequest


【解决方案1】:

从 JS 的角度来看没有什么不同。跨域授权由浏览器在 HTTP 级别使用CORS 处理,因此您的服务器必须支持跨域协商。

【讨论】:

  • 只有当您的文档类型设置为 HTML5 或在所有情况下,只要浏览器支持 HTML5,才会发生这种情况?
  • @wagtail,CORS 与 HTML5 无关。它已经存在了很长时间。因此,您使用什么 DOCTYPE 并不重要。重要的是客户端浏览器是否支持它以及服务器是否发送正确的 HTTP 响应标头。所以,不,HTML5 并没有为跨域 javascript 屏幕抓取工具带来任何新的东西。他们仍然像现在一样 PITA :-)
  • @josh3736 如果您尝试访问的网站没有指明 Access-Control-Allow-Origin: * 怎么办?
  • @wagtail,在这种情况下它不起作用。您忘记了跨域 AJAX。
  • 那你就不行了。 CORS 的重点是 server 必须说你可以进行跨域请求。
猜你喜欢
  • 1970-01-01
  • 2014-04-04
  • 2011-03-09
  • 1970-01-01
  • 2014-07-13
  • 2011-06-23
  • 1970-01-01
  • 1970-01-01
  • 2010-12-11
相关资源
最近更新 更多