Angular $ http无法发送内容类型标头

时间:2016-11-08 06:58:20

标签: javascript angularjs

使用带角度$ 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()方法,它工作得很好。没有问题。所以我不认为我的服务器有任何问题。

1 个答案:

答案 0 :(得分:1)

  

预检的响应包含无效的HTTP状态代码404

此错误表示很可能存在CORS问题。浏览器发送两个请求。第一个请求是OPTIONS,另一个是POST,您在示例中配置了该请求。问题不太可能出现在Content-Type标头中,因为此标头是使用POST发送的,而不是OPTIONS。并且OPTIONS请求失败了。检查您的服务器是否支持OPTIONS请求并发回正确的CORS所需标头