拦截器导致ajax请求错误

在做java web云盘的时候,遇到了一个诡异的错误。用户注册时,需要用ajax判断该邮箱是否被注册。一开始没有发现问题,有一次测试注册的时候,却发现邮箱验证出现了异常,浏览器F12打断点,ajax请求直接进了error,后台打断点也没有进入。返回的error是一大串html代码,完全让我摸不着头脑。

开始检查dataype,data,url,没有错误啊。还是不行,开始去网上搜偏方子,试了很多方法,都是错误,只不过报错不一样了。。。于是很纳闷,老子写过那么多ajax了,什么样的请求没遇见过?验证邮箱这种请求,就给一个参,返回一个true or false ,哪里有理由出错?之后继续调试,发现必须要随便登录过一个账号,然后再返回注册,这个ajax才能正常请求。瞪了快半个晚上还是没有没看出来原因,就先放一边了。

今天在测试Android的请求时候,再次写了一下这个请求,本来想扔在浏览器敲回车,看看返回的是不是我想要的数据格式,结果跳转到了登录页面?恍然大悟,后台做了拦截器,拦截了所有controller,除了登录的controller请求,如果没有session(没登录),就跳转到登录页面。所以必须要登录之后才能注册的原因是这个,我把邮箱验证也给拦截掉了。修改下代码,问题解决。