【发布时间】:2012-11-07 09:31:45
【问题描述】:
我在尝试访问不在我域中的服务器上的 JSON 数据时遇到访问错误。我尝试通过jQuery.support.cors = true;激活跨域功能,但还是遇到了同样的问题。
然后我找到了this example page 和this article 并充满希望,我试图去XDomainRequest 而不是XmlHttpRequest。不过,我得到了同样的错误。
当我在浏览器窗口中输入地址时,我会访问数据并可以在我的屏幕上看到它。我可以改变/寻找什么来使它工作? (我已经尝试了所有我能想到的例子,现在我画的是空白。)
我正在执行下面的代码。
var xdr = new XDomainRequest();
xdr.onload = function () { alert(xdr.responseText); }
xdr.open("GET", "http://blopp.json");
xdr.send();
我将无法要求我的用户激活任何内容。此外,我可能希望他们中的许多人在具有高限制的域上(90% 以上将在 IE 上,我希望至少是 8 版)。
编辑:
标题如下。
请求标头:
状态码:200 OK
请求标头视图已解析
GET /AppositelabRestService/api/EnvelopeTemplate/12345 HTTP/1.1
主机:apppositech.hosterspace.com
连接:保持活动
缓存控制:max-age=0
用户代理:Mozilla/5.0(Windows NT 6.2;WOW64)AppleWebKit/537.4(KHTML,如 Gecko)
Chrome/22.0.1229.94 Safari/537.4
接受:text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
接受编码:gzip、deflate、sdch
接受语言:sv,en-US;q=0.8,en;q=0.6
接受字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.3
响应标头
HTTP/1.1 200 正常
缓存控制:无缓存
编译指示:无缓存
内容类型:应用程序/xml;字符集=utf-8
过期:-1
服务器:Microsoft-IIS/7.5
X-AspNet-版本:4.0.30319
X-Powered-By:ASP.NET
日期:格林威治标准时间 2012 年 11 月 7 日,星期三 09:53:19
内容长度:394
【问题讨论】:
-
服务器是否发送正确的 CORS 标头?它们是必需的。
-
转到谷歌浏览器中的 URL,激活开发者工具中的网络选项卡并检查标题
-
@Esailija 什么是“正确的 CORS 标头”?我应该在那里看到什么?
-
Access-Control-Allow-Origin: yourwebsite.com或Access-Control-Allow-Origin: * -
@Esailija 呵呵,我都看不到。为了完整起见,我在我的问题的更新中发布了标题。请看一看。
标签: javascript json cross-domain dynamics-crm xdr