我正在尝试使用$ http.post并获得响应,我尝试了几种方式,但我无法正常工作。 我发送的数据(userData)是一个json对象。
$http.post(url, userData)
.success(function(data, status, headers, config) {
console.log('post success');
console.log('data');
console.log(data);
console.log('status');
console.log(status);
console.log('headers');
console.log(headers);
console.log('config');
console.log(config);
}).error(function(data, status, headers, config) {
console.log('post error');
console.log('data');
console.log(data);
console.log('status');
console.log(status);
console.log('headers');
console.log(headers);
console.log('config');
console.log(config);
});
我的状态为404.
谢谢
答案 0 :(得分:1)
" 405方法不允许"回应是因为您的浏览器正在进行预检"通过angular $ http的OPTIONS方法请求,您的服务器不支持它。启用CORS有许多先决条件响应。如果您有权访问服务器,则可以添加对它的支持。一种选择是使用nginx作为这种配置的前端代理:
http://enable-cors.org/server_nginx.html
阅读评论 - 它们确实非常有用。
另外:参见" Preflighted Requests"在这里:https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS
答案 1 :(得分:0)
404表示您发送请求的网址不存在。
如果您正在使用mysite.com/angular-site
之类的子目录,并在此处将URL设置为相对路径,例如" / url / to / api" - 你将进入" mysite.com/url/to/path
"而不是正确的" mysite.com/angular-site/url/to/path
"。
所以要注意,这可能是问题。