解决跨域的方式
第一种用jsoup:
前台用ajax的jsoup方式,代码就不贴了。
后台用
MappingJacksonValue jacksonValue = new MappingJacksonValue(result); //设置包装的回调方法名 jacksonValue.setJsonpFunction(callback); |
或者
String resultStr = callback + "(" + jsonResult + ");";
第二种用拦截器的方式:
创建跨域拦截器实现HandlerInterceptor接口,并实现其方法,在请求处理前设置头信息,并放行
response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("P3P", "CP=CAO PSA OUR");
if (request.getHeader("Access-Control-Request-Method") != null && "OPTIONS".equals(request.getMethod())) {
response.addHeader("Access-Control-Allow-Methods", "POST,GET,TRACE,OPTIONS");
response.addHeader("Access-Control-Allow-Headers", "Content-Type,Origin,Accept");
response.addHeader("Access-Control-Max-Age", "120");
}
方便粘贴。。。。。。
在springmvc的配置文件中配置拦截器,注意拦截的是所有的文件(根据需求可以灵活配置)