Skip to content

路由原理

  • hash模式
  • history模式

hash

浏览器URL中会显示##以及#后面的字符称之为hash,可以用window.location.hash读取

监听hash模式用的是hashchange 特点

  • hash虽然在URL中,但不被包括在HTTP请求中
  • hash不会重加载页面

history

history采用HTML5的新特性,且提供了两个新方法:pushState(),replaceState(),可以对浏览器历史记录栈进行修改,只是当它们执行修改时,虽然改变了当前的 URL,但浏览器不会立即向后端发送请求

监听history模式用的是popstate

前端的 URL 必须和实际向后端发起请求的 URL 一致