我们如何从角度js执行跨站点ajax请求?我试过这样做:
$http.post('http://cross.local', data)
但是浏览器抛出错误:
请求时没有'Access-Control-Allow-Origin'标头 资源。因此不允许原点访问。
所以我添加了标题
接入控制允许凭证:真
访问控制允许的方法:GET,POST,DELETE,OPTIONS
访问控制允许来源:*
但我仍然得到同样的错误 我哪里出错了?
答案 0 :(得分:0)
您需要在Angular中启用CORS支持,默认情况下该功能
yourApp.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
}
]);
第一行启用CORS支持,第二行删除通常使用Ajax请求发送的头。
如果您不希望在应用中无处不在,则需要微调设置默认值的位置。
答案 1 :(得分:0)
在服务器中,我忘记为POST请求添加处理程序,因此对于每个发布请求,在请求的资源上存在“否”Access-Control-Allow-Origin'标头。因此不允许原点进入。服务器抛出错误。当我添加POST处理程序时,它工作