您现在的位置是: 网站首页 >网页前端 网页前端

JavaScript获取url中的参数和锚点,用于提交成功后跳转

admin2018年12月27日 17:49 Html | JavaScript 264人已围观

# js获取url中的参数值 使用场景: - 当我访问 `http://127.0.0.1:8000//problem/category/2/#anchor_point_4` 想对`anchor_point_4`这个锚点的内容进行修改, - 那么需要访问`http://127.0.0.1:8000/problem/edit/question/4/`, - 我们在后面添加next参数,用于修改成功后跳转来,修改的链接就变成了 `http://127.0.0.1:8000/problem/edit/question/4/?next=/problem/category/2/#anchor_point_4` - 使用ajax提交修改,如果成功,现货区到next和锚点,然后通过`window.location.href='/problem/category/2/#anchor_point_4'`,在前端实现跳转 Location 对象包含有关当前 URL 的信息。 ## window.location 属性 Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。 | 属性 | 描述 | | -------- | --------------------------------------- | | hash | 设置或返回从井号 (#) 开始的 URL(锚) | | host | 设置或返回主机名和当前 URL 的端口号。 | | hostname | 设置或返回当前 URL 的主机名 | | href | 设置或返回完整的 URL | | pathname | 设置或返回当前 URL 的路径部分 | | port | 设置或返回当前 URL 的端口号 | | protocol | 设置或返回当前 URL 的协议 | | search | 设置或返回从问号 (?) 开始的 URL(查询部分) | ## 获取url参数 ```JavaScript // 采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function getParameterValues(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg);//search,查询?后面的参数,并匹配正则 if(r!=null)return unescape(r[2]); return null; } // 调用方法 alert(getParameterValues("参数名1")); alert(getParameterValues("参数名2")); alert(getParameterValues("参数名3")); ``` 若地址栏URL为:`http://127.0.0.1:8000/problem/edit/question/4/?next=/problem/category/2/#anchor_point_4` 那么调用:`alert(getParameterValues("next"))`; 则会弹出一个对话框:内容就是 `/problem/category/2/` 如果没有参数,调用会出错,加一个判断请求的参数是否为空,首先把值赋给一个变量: ```JavaScript var next = getParameterValues("next"); if(next !=null && next.toString().length>1) { alert(getParameterValues("next")); } ``` 这样就不会报错了! ## 下一跳加锚点跳转 通过这样写,就可以使用`next`和锚点来跳转到其他地址 ```JavaScript window.location.href = getParameterValues('next') + window.location.hash; ```

很赞哦! (0)

文章交流

  • emoji
0人参与,0条评论

当前用户

未登录,点击   登录

站点信息

  • 建站时间:网站已运行590天
  • 系统信息:Linux
  • 后台程序:Python: 3.6.6
  • 网站框架:Django: 2.2.9
  • 文章统计:222 篇
  • 文章评论:40 条
  • 腾讯分析网站概况-腾讯分析
  • 百度统计网站概况-百度统计
  • 微信公众号:扫描二维码,关注我们
返回
顶部
标题 换行 登录
网站