今天在编写登录处理时,我以前利用ajaxSetup实现了一个ajax方式的redirect重定向处理。原来工作好好的,不知道建了一个新的项目不起作用了。查了半天,感觉就是没有被执行。后来在stackoverflow搜到这个 jQuery ajax success event Strangely not working on ajaxSetup .再结合 jQuery的文档 原来ajaxSetup 中如果写 error, success 之类的只是当真正的ajax调用中没有写相应的方法时作为缺省值使用的,而我的场景中正好写了error的处理,所以全局的就不起作用了。改为 ajaxError 就好了。
不过有几点注意事项:
- 1.9以后,ajaxError需要绑定到 document 上
- 如果 ajax ajaxSetup 中的global为false时,ajaxError之类的事件将不会被处理。