ajax 跨域访问,如果是访问自己的server那就可以通过在服务器端设置响应头,简单的解决。
在server端的servlet或者action中,一般设置如何两个响应头即可解决跨域问题。
Access-control-allow-methods:*
Access-control-allow-origin :*
但是有时候设置完了之后完全不起作用,setvlet代码正常执行,结果正常输出,就是浏览器端还是会报跨域访问错误。
(这也同样纠结了我半天)
那么接下来你要做的就是检查你设置响应头的位置。
比如:servlet中的doPost方法,必须放在方法的第一行,要放在super.doPost方法调用之前设置,否则无效。
同样的其他方法也要放在最开始进行设定。
至于原因尚未确定,且听下回具体分析问题的原因。
至于完全不知道跨域访问这会事儿的,请自行绕过,说明你还没有跨项目访问的需求,有了需求再来看也未尝不可。
网友评论