js实现网页的重定向
在学习过程中不经意间就会忽视一些细节部分,而重定向在项目中是会经常遇到的。
什么时候使用重定向?
- 每当数据更新需要刷新网页的时候(比如 写一条博客提交博文后实时更新)
- 从后端获取到了数据并跳转到另一个页面的时候(比如 登陆验证后跳转到主页)
什么是重定向
重定向流程
客户浏览器发送http请求——》web服务器接受后发送302状态码响应及对应新的location给客户浏览器——》客户浏览器发现是302响应,则自动再发送一个新的http请求,请求url是新的location地址——》服务器根据此请求寻找资源并发送给客户。在这里location可以重定向到任意URL,既然是浏览器重新发出了请求,则就没有什么request传递的概念了。在客户浏览器路径栏显示的是其重定向的路径,客户可以观察到地址的变化的。重定向行为是浏览器做了至少两次的访问请求的。
发送请求 –>服务器运行–>响应请求,返回给浏览器一个新的地址与响应码–>浏览器根据响应码,判定该响应为重定向,自动发送一个新的请求给服务器,请求地址为之前返回的地址–>服务器运行–>响应请求给浏览器
重定向流程分两次:第一次,客户端request A,服务器响应,并response回来,告诉浏览器,你应该去B。
重定向的好处
做增、删、改的时候最好用重定向,因为如果不用重定向,每次刷新页面就相当于再请求一次,就可能会做额外的操作,导致数据不对。
详情.
重定向的几种方法(参照大佬)
<script type="text/javascript">
window.location.href="http://www.cnblogs.com/Roikehiya/";
</script>
- (参考MDN官方文档)尽管 window.location 是一个只读 Location 对象,你仍然可以赋给它一个 DOMString。这意味着您可以在大多数情况下处理 location,就像它是一个字符串一样:window.location = ‘http://www.example.com’,是 window.location.href = 'http://www.example.com’的同义词
- 只要赋给 location 对象一个新值,文档就会使用新的 URL 加载(导航到一个新页面一标题)
<script type="text/javascript">