jQuery.ajax处理302重定向
问题
为什么jQuery.ajax() 没有默认支持302重定向?
解答jQuery.ajax 是通过xmlHttpRequest来实现的,而这个东西存在跨域问题,如果302跳转到的地址还是当前域,则服务器端几乎没有302重定向的必要;如果302跳转到的地址不是当前所在的域,则必然存在跨域问题。可能就是这个原因吧。
但是:
出于跨域资源共享的需要,很多浏览器开始支持cors,如果浏览器支持了cors(假设server端也做了相应的配置),则,jQuery.ajax似乎应该支持302才是,如果自己实现,请注意,如果需要上行cookie(一般是需要的),需要设置 xhr.withCredentials=true
如何实现302
对于jQuery.ajax来讲,302是一个错误,可以通过实现 ajaxComplete 事件来完成,具体参考:
参考文章:
The post jQuery.ajax处理302重定向 appeared first on PHPor 的Blog.