前端程序与后端程序服务器地址不一致时需要进行跨域处理。前端服务器程序为tomcat,修改tomcat的web.xml,可以是tomcat的conf目录下的,也可以是前端程序WEB-INF目录下的。添加代码如下:
<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>
php服务端添加代码:
<?php
header('Content-Type: application/json;charset=utf-8');
header('Access-Control-Allow-Origin:*'); // *代表允许任何网址请求
header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE'); // 允许请求的类型
header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies
header('Access-Control-Allow-Headers: Content-Type,Content-Length,Accept-Encoding,X-Requested-with, Origin');//允许前端header可以指定的参数
...
java springboot controller:
@RestController
@CrossOrigin("*") //要指定允许跨域访问的地址,部署时不要用*。
public class TestController{...