使用带角度$ http和post方法时,我得到了一个荒谬的错误。
在发送$ http POST请求时,它没有附加Content-type标头,因此我收到错误"预检的响应具有无效的HTTP状态代码404"。 这是我的代码 -
var obj={
"mobile":"hello",
"password":"asjd"
}
$http({
url: 'http://cbsatwork.com/laundry/api-authentication',
method: 'POST',
data:obj,
headers: {
"Content-Type": "application/json"
}
})
虽然我删除了"数据:obj"从代码行,它工作,我从服务器得到通常的响应。 我已经研究了许多答案,但无法为我工作。
修改 我尝试使用jQuery中的$ .ajax()方法,它工作得很好。没有问题。所以我不认为我的服务器有任何问题。
答案 0 :(得分:1)
预检的响应包含无效的HTTP状态代码404
此错误表示很可能存在CORS问题。浏览器发送两个请求。第一个请求是OPTIONS
,另一个是POST
,您在示例中配置了该请求。问题不太可能出现在Content-Type
标头中,因为此标头是使用POST
发送的,而不是OPTIONS
。并且OPTIONS
请求失败了。检查您的服务器是否支持OPTIONS
请求并发回正确的CORS所需标头