关于跨域问题求解。。。。用filter的行不通啊,求大神直接帮我build一个吧。。

晨曦夜未央 2016-09-21 04:12:43
跨域问题搞了好久。。。还是无法搞定。。现在遇到一种情况。不太理解,求指导:
在首页这里点进去没有错误的,然后同时,这个filter起作用了,header里面有出现response.addheader里面增加的header了但是一点按钮就不行了,直接报错,无法进入我的请求路径

然后我点击下面那个不能load的url以后 报错404,同时,点开来看信息,header又没了



崩溃中。。。。。。。


下面这个是我的拦截器代码
@Component
public class CORSfilter extends OncePerRequestFilter{

@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterchain) throws IOException, ServletException {
response.addHeader("Access-Control-Allow-Origin","*");
response.addHeader("Access-Control-Allow-Headers",
"Content-Type,api_key,Authorization,X-Requested-With,Accept,Origin,Last-Modified");
response.addHeader("Access-Control-Allow-Method", "GET,POST,PUT,DELETE,HEAD,OPTIONS");
response.addHeader("Access-Control-Max-Age", "1800"); //30min?
filterchain.doFilter(request, response);
}

}

web.xml配置:
 <filter>
<filter-name>CORSfilter</filter-name>
<filter-class>top.uncommonat.util.CORSfilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CORSfilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>




前端用的是ajax
function gotoother(){
var pro_name="111";
console.log(pro_name);
$.ajax({
url:path+"/show",
type:"get",
data:{pro_name:"111"},
dataType:"json",
success:function(result){
console.log(result);
alert("JSON Data: " + result.data);
window.location.href="detail.html";
},
error:function(){
alert("加载失败");
}
});
}


后端controller,serviceImpl相关代码:



这个returnresult是这个:


如果可以。。求大神帮我改造下ajax代码和controller还有serviceImpl 这几个部分的代码。。拜托。OTZ


还有个疑惑。。就是我访问都是我自己项目里面的URL,,照理说,域名没有变啊。为什么算是跨域问题呢
...全文
241 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_36933705 2017-01-12
  • 打赏
  • 举报
回复
楼主搞定了吗,我也遇到这个问题
java竹雨 2016-09-21
  • 打赏
  • 举报
回复
JSONObject jsonObject = JSONObject.fromObject( result );
java竹雨 2016-09-21
  • 打赏
  • 举报
回复
返回值 转成JSON

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧