尝试在我的域中访问服务器上的JSON数据时,我会遇到访问错误。我试图通过jQuery.support.cors = true;
激活跨域功能,但仍然有同样的问题。
然后,我找到了此示例页面和本文,并且充满希望,我尝试选择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
请求headerSview解析
get/appositelabrestservice/api/emplowetemplate/12345 http/1.1
主持人:appositech.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
Accept-Charset:ISO-8859-1,UTF-8; Q = 0.7,*; q = 0.3
响应标头HTTP/1.1 200 OK
缓存控制:无缓存
PRAGMA:无搜索
内容类型:应用程序/XML;charset = utf-8
到期:-1
服务器:Microsoft-iis/7.5
X-ESPNET-VERSION:4.0.30319
X-Power-by:asp.net
日期:2012年11月7日星期三09:53:19 GMT
内容长度:394
服务器必须通过发送CORS(交叉原始资源共享)标头明确允许它,例如:
Access-Control-Allow-Origin: *
否则,相同的原始策略将适用,您无法做到。
顺便说一句,Flash使用CrossDomain.xml,因此,如果服务器托管了这样的文件,则可以通过Flash发出请求。
不幸的是http://appositech.hosterspace.com/crossdomain.xml是404。