从“localhost”移动到在线服务器后,由于CORS,我发生了此错误403。
api可以从url访问并且它可以工作,但是当我使用我的角度Typescript页面调用它时,它不起作用,给我这个错误:
无法加载资源:服务器响应状态为403()
从'http://...:8080/bet365/elencoEventi/2019-02-20'访问'http://127.0.0.1:8000'的XMLHttpRequest已被CORS策略阻止:请求的资源上没有'Access-Control-Allow-Origin'标头。
我试图在tomcat中添加过滤器,如下所示:
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
但它仍然给我403错误。
如果您使用的是最新版本的Tomcat,则需要配置CORS策略。
http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#CORS_Filter
过滤器内置于Tomcat 7+中
根据文档,您的配置启用了筛选器,但不放宽跨源策略。至少,您需要添加cors.allowed.origins初始化参数,如上所述。
试试这个配置:
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>