我正在编写一个 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/