微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – AngularJS – $http get返回错误,状态为0?

我有一个AngularJS应用程序,其中我试图从服务器获取带有$http的XML数据,例如http://example.com/a/b/c/d/getDetails?fname=abc&lname=def(这在通过在浏览器中输入链接手动访问时显示XML文件的树结构).

当我运行应用程序时,不会获取链接中的数据.相反,它显示状态为0的错误.

//url = http://example.com/a/b/c/d/getDetails?fname=abc&lname=def
$http.get(url).success(function (data){
                alert("Success");
                deferred.resolve(data);
            }).error(function (data, status){
                console.log("Error status : " + status);
            });

我不确定为什么$http.get失败并转到错误函数返回状态0.

但是如果我将URL传递给具有JSON对象的本地服务器,它就可以工作.

是因为我试图从不同的域(CORS问题?)或其他东西访问XML文件

请帮帮我!

解决方法:

你有HTTP access control (CORS)个问题.

响应REST请求的服务器必须包含CORS指定的头,以便Angular正确使用响应.实质上,这意味着在响应中包含Access-Control-Allow-Origin标头,指定允许来自请求的服务器. (ref)

指令Angular允许用户获取/设置白名单和黑名单,以确保用于采购Angular模板的URL是安全的.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。