我在这我想从服务器获取与$ 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问题?)还是其他原因引起的问题?
请帮帮我!
您有HTTP访问控制(CORS)问题。
回答您的REST请求的服务器必须包含CORS指定的标头,以允许Angular正确使用响应。从本质上讲,这意味着在响应中包括Access-Control-Allow-Origin标头,以指定允许发出请求的服务器。 指令Angular允许获取/设置白名单和黑名单,以确保用于采购Angular模板的URL安全。