gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 02:33:38 25 4
gpt4 key购买 nike

我有一个 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 对象的本地服务器,它就可以工作。

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

请帮帮我!

最佳答案

你有HTTP access control (CORS)问题。

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

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

关于javascript - AngularJS - $http get 返回状态为 0 的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27145287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com