警告:我是一名前端开发人员,我对服务器没有太多经验。
我正在使用 Angular 1.2 构建一个应用程序,它在不同的子域上 ping 一个 API。我相信,该项目的后端开发人员正在使用 nginx,并已将其设置为通过实质上转发子域或类似的东西来允许跨域请求。我可以很好地$http.get
提出请求,但是当我尝试时,$http.post
我得到了 Access-Control-Allow-Origin 错误。
这是踢球者:我可以用 jQuery 发出相同的请求,$.ajax
而且效果很好。
$.ajax({
type: 'POST',
url: 'http://api.mydomain.com/v1/customer/',
data: theData,
contentType: 'application/x-www-form-urlencoded',
//contentType: 'text/plain',
//crossDomain: true,
success: function(){
console.log("sent data via jquery");
}
});
以下是我设置 Angular 的方式:
var myServices = angular.module("myServices", []);
myServices.config(function($httpProvider) {
$httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
});
和:
save: function(payload){
console.dir($http);
return $http.post('http://api.mydomain.com/v1/customer/', payload).then(function(result){
return result;
});
},
我错过了什么?