一尘不染

AngularJS-$ http get返回状态为0的错误?

angularjs

我在这我想从服务器获取与$ HTTP GET
XML数据的AngularJS应用说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对象的本地服务器,则它可以工作。

是因为我试图从其他域访问XML文件(CORS问题?)还是其他原因引起的问题?

请帮帮我!


阅读 258

收藏
2020-07-04

共1个答案

一尘不染

您有HTTP访问控制(CORS)问题。

回答您的REST请求的服务器必须包含CORS指定的标头,以允许Angular正确使用响应。从本质上讲,这意味着在响应中包括Access-Control-Allow-Origin标头,以指定允许发出请求的服务器。
指令Angular允许获取/设置白名单和黑名单,以确保用于采购Angular模板的URL安全。

2020-07-04