ajax为何不会重定向

2019-03-17  本文已影响0人  nymlc

前言

大致就是前端通过ajax发起一个请求,得到的是个302页面,前端没能自行跳转到重定向页面

正文

源码
嗯,实践出真知,写个简单的项目

  1. 首先是ajax请求,可见不可截取302状态,很明显它的流程是ajax -> browser -> server -> 302请求 -> browser(redirect) -> server -> browser -> ajax
    ajax提交
    ajax回调获取的Response Headers
  2. 表单提交,可成功跳转
  3. 浏览器地址直接请求http://localhost:3000/302,可成功跳转
    ps:若想用ajax,可让后台配合传回redirect location

结论

总的来说,ajax就是个服务端和客户端之间的媒介,它只管数据获取。
当只是browser、server直接,浏览器获取到302会重定向到302请求,这个也是加入ajax之后不能截取到302状态的原因

上一篇下一篇

猜你喜欢

热点阅读