我在Angular JS的PHP服务器上调用我的API:
$http({method: 'POST', url: 'my api...',
我的电话总是被取消并产生错误:
XMLHttpRequest cannot load http://kni.prz.edu.pl/querye/api/querye. Origin http://localhost is not allowed by Access-Control-Allow-Origin.
如何在Angular JS中启用交叉请求?
取消的不是来自服务器。
答案 0 :(得分:1)
启用跨网站请求
运行已部署的实例时,很可能不会出现此错误,因为您不在本地主机上。
出于测试目的,您可以:
myApp.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
}]);
答案 1 :(得分:1)
问题可能实际上是在服务器端。您需要添加响应标头以允许跨域请求:
Access-Control-Allow-Origin: *
请注意,添加此项将允许任何域向您的主机发送请求。
如果您无法控制服务器,则需要尝试JSONP,请参阅:$http.jsonp