希望有人可以指出我正确的方向,我已经搜索了几天但仍然没有。我尝试调用不同的API只是为了播放返回数据,但每次调用API时我都会遇到同样的错误:
否'访问控制 - 允许 - 来源'标头出现在请求的资源上。来源'您的网站'因此不允许访问。响应具有HTTP状态代码404
我知道我的电话正在通过,因为对于一个特定的API,它会跟踪我的使用情况并说我已经进行了大约5次成功调用,所以这意味着数据正在返回,但我的浏览器正在阻止它。这只发生在Public API上。我通过Azure创建了自己的API,设置了CORS,称为API,它运行得很好。但是,由于我无法访问公共服务器来设置和启用CORS,因此我无法知道他们如何设置CORS。
这是我调用API的代码:
MyAngularApp.service('APIService', function ($http) {
return {
getWork: function() {
return $.ajax({
url: "http://api.nfldata.apiphany.com/nfl/v2/JSON/Teams/2014",
beforeSend: function (xhrObj) {
// Request headers
xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key", "*******");
},
type: "GET",
})
.done(function (data) {
alert("success");
})
.fail(function () {
alert("error");
});
}
}
});
任何帮助表示感谢
答案 0 :(得分:0)
使用jsonp是一种方式,但我认为您实施CORS策略以授权此域的请求更好,请阅读官方文档:Enabling Cross-Origin Requests in ASP.NET Web API 2