尝试执行XMLHttpRequest时,响应从服务器返回(在Fiddler中检查),但xhr.getAllResponseHeaders()返回null并抛出异常。
是否因为“同源政策”?你能否建议如何解决这个问题?
代码:使用datajs.codeplex.com开源代码:
xhr.onreadystatechange = function () {
if (xhr === null || xhr.readyState !== 4) {
return;
}
// Workaround for XHR behavior on IE.
var statusText = xhr.statusText;
var statusCode = xhr.status;
if (statusCode === 1223) {
statusCode = 204;
statusText = "No Content";
}
var headers = [];
var responseHeaders = xhr.getAllResponseHeaders().split(/\r?\n/);
资源位于不同的域中。访问http://odata.netflix.com/v1/Catalog/Genres
答案 0 :(得分:0)
如果您的问题是同源政策,则可以使用YQL作为代理。
有什么好处的,你可以要求将结果作为json获取并轻松地从客户端脚本中使用它。
答案 1 :(得分:0)
要绕过同源策略,您可以使用JS来调用获取外部URL内容的PHP脚本,并echo
结果。