允许跨域的关键代码如下,加上3个response的header设置:
public Result getSomething(HttpServletResponse response, HttpServletRequest request) {
// 允许任意域名访问
response.setHeader("Access-Control-Allow-Origin", "*");
// 响应类型
response.setHeader("Access-Control-Allow-Methods", "POST, GET");
// 响应头设置
response.setHeader("Access-Control-Allow-Headers", "Content-Type, x-requested-with, X-Custom-Header, HaiYi-Access-Token");
Result result = new Result();
...
return result;
}
可以加个拦截器,给每个请求都加上。
ps:遇过一个小坑,有些快速开发框架的转Json方法里会有response的reset操作,等于前面白加了,请注意。
比如JeeSite的renderString(respanse, result)方法~