angularjs - Angular $http : Response for preflight has invalid HTTP status code 403

标签 angularjs post http-headers cors

我正在编写一个 Angular 应用程序,我正在尝试使用 $http 连接到我们的 API。服务。

$http.post('https://backend-test/***/v001/login', {'userName': 'admin', 'password': 'passtest'}, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json'}}).then(function success(response) {
    console.log(response);
});

但是,我不断收到此错误:

XMLHttpRequest cannot load https://backend-test/***/v001/login. Response for preflight has invalid HTTP status code 403



它似乎也发送一个 OPTIONS 请求而不是一个 POST 请求:

Request Method:OPTIONS



奇怪的是,当我使用这个工具时它工作正常:

https://www.hurl.it/

有什么想法吗?

最佳答案

我有同样的问题。我的后端是一个 tomcat 服务器。我通过像这样配置 web.xml 解决了它:

<filter>
    <filter-name>CorsFilter</filter-name>
    <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
    <init-param>
        <param-name>cors.allowed.headers</param-name>
        <param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,Authorization</param-value>
    </init-param>     
</filter>

关于angularjs - Angular $http : Response for preflight has invalid HTTP status code 403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33576216/

相关文章:

javascript - 如何扩展表格以在 AngularJS 中以 Accordion 样式添加更多信息

javascript - ng-animate 多个表行不设置动画

PHP:在两个站点之间传输一个大数组

PHP:数组 $_POST 循环问题

python - 如何使用 Cherry Py 将获取/发布请求 header 解码为元组?

angularjs - 每天 ng-repeat groupBy 日期字段

android - json 对象的 Volley Post 方法

configuration - Nginx 中 $host 和 $http_host 有什么区别

ruby-on-rails-3.1 - 禁止用户代理 max-age=0 header

javascript - 双向绑定(bind)不在 ng-repeat 中更新