第二次ajax请求被拒绝的问题

近期遇到问题,终于解决了。

在webapp端ajax对服务器进行post请求的时候,第一次没有问题,第二次返回401,查了一下,未授权访问。

使用get请求时没有问题,用工具模拟post请求也没有问题。为了赶时间,在服务端开发的时候,请求一次,重启一次tomcat。以为是tomcat的问题,换了个版本还是不行。又考虑跨域问题,在服务端加了如下代码也不行。用jsonp也没有解决。

header(‘Access-Control-Allow-Origin:*’);
header(‘Access-Control-Allow-Headers:X-Requested-With’);

 

后来终于找找公司移动框架和后台框架开发的两个部门的人一起才解决了。

原因是后台框架的安全策略中,对http请求有各种限制,这个问题是因为对header部分的referer做了限制,查询得知这个是防止外链的。

公司webapp的框架中可能没有考虑到这种情况,所以没有设定这个参数,所以第二次请求报错。

解决方法:1,在服务端取消这个限制;2,在ajax请求中对该参数进行设置。

refere