首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript中的XMLHttpRequest响应为空

Javascript中的XMLHttpRequest响应为空
EN

Stack Overflow用户
提问于 2011-02-10 18:27:49
回答 2查看 1.7K关注 0票数 1

当尝试执行XMLHttpRequest时,响应从服务器返回(在Fiddler中检查),但xhr.getAllResponseHeaders()返回null并抛出异常。

是因为“同源政策”吗?你能建议一下如何解决这个问题吗?

代码:使用datajs.codeplex.com开源代码:

代码语言:javascript
复制
                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

EN

回答 2

Stack Overflow用户

发布于 2011-02-10 20:04:07

如果同源策略是您的问题,您可以使用YQL作为代理。

编辑:例如http://developer.yahoo.com/yql/console/#h=select%20*%20from%20atom%2810%29%20where%20url%3D%27http%3A//odata.netflix.com/v1/Catalog/Genres%27

更好的是,您可以要求以json格式获取结果,并从客户端脚本轻松地使用它。

票数 0
EN

Stack Overflow用户

发布于 2011-02-10 20:07:02

要绕过同源策略,您可以使用JS调用一个PHP脚本,该脚本获取外部url的内容并对结果执行echo

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4955922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档