[英]Angular $http options instead post
我向服务器api发出$http POST
请求,但请求方法更改为OPTIONS
。 我用localhost完成所有操作。 所以我通过邮递员做了同样的请求,并且一切正常
服务:
function httpReg(userData) {
console.log(userData)
return $http({
method: 'POST',
url: CONFIG.APIHost + '/auth/signup',
data: {
"username": userData.username,
"email":userData.email,
"password": userData.password
},
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
});
}
屏幕截图:
(来源: joxi.net )
实际上,您的preflight
要求已退回。
如果浏览器不信任您要访问的数据源,则浏览器将首先向该服务器发送preflight
请求,如果返回200OK
,则浏览器将发送您的原始请求。
此项仅适用于浏览器,而其他工具(例如postman
不会发送和预检请求,因此您的代码可能会起作用。
如何解决问题。
GET, POST, OPTIONS, PUT
标头添加到请求的资源。 是的,它看起来像是cors问题。
请尝试以下方法之一:
尝试这个:
app.config(['$httpProvider', function ($httpProvider) { //Reset headers to avoid OPTIONS request (aka preflight) $httpProvider.defaults.headers.common = {}; $httpProvider.defaults.headers.post = {}; $httpProvider.defaults.headers.put = {}; $httpProvider.defaults.headers.patch = {}; }]);
从yeoman / gulp设置的_app.js文件中删除x-auth*
设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.