标签:http 就是 提交 特点 刷新 模式 前端路由 server web app
稍微复杂一点的SPA(singel page Web application:单页web应用), 都需要路由
spa的路由叫做前端路由,如果是后端路由就不是spa了,就是多页面应用了
网页url组成部分
location // 位置 location.protocol // http 协议 location.hostname // ip地址 也可能是域名 location.host // ip地址带端口 location.port // 端口 location.pathname // 后面整个path部分 location.search // ?后面参数 ?id=1 location.hash // #后面一部分 #123i
通过hash变化触发路由的变化 。
2.hash的特点
hash变化触发网页跳转,即浏览器的前进和后退
2.hash变化不需要刷新页面 spa必须的特点
3.hash永远不会提交到server端(前端自生自灭)
http-server -p 8001 //启动服务 我使用的启动失败
// 代码演示
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div>location</div> <button id=‘btn‘></button> <script> var log = console.log.bind(console) window.onhashchange = (event) => { log(‘old url‘, event.oldURL) log(‘new url‘, event.newURL) log(‘hash‘, location.hash) } //页面初次加载,获取hash document.addEventListener(‘DOMContentLoaded‘, () => { log(‘load hash:‘, location.hash) }) //js修改hash document.getElementById(‘btn‘).addEventListener(‘click‘, () => {location.href = ‘#/user‘}) </script> </body> </html>
// 改变hash的两种办法 1.js改变 2.手动改变
//hash值变化会改变浏览器的前进与后退
标签:http 就是 提交 特点 刷新 模式 前端路由 server web app
原文地址:https://www.cnblogs.com/-constructor/p/12819098.html