想做一个个人博客的小功能做练习,想检测如这样的链接后缀:
http://example.com/?c=123123
通过 JS 来识别链接中的 ?c=123123 然后填转到指定链接,请问如何实现更好?谢谢!
巴扎黑2017-04-10 13:12:41
直接就会跳转了,为何需要用JS判断?
如果是说通过query string来判断需要呈现的内容,前端可以做到,但相比比来,后端更适合做这样的工作。
http://example.com/?d=123123#abc
?以后到#之前,这段内容称为query string。而#以后,称为url hash(注意,这里的hash和hash算法的hash不一样)。
二者有区别:
名称 | 地址形式 | 前端的获取方法 | 后端的获取 | 在前端修改之后造成网络请求 |
url hash | #… | window.location.hash | 取不到 | 不会 |
query string | ?a=&b=… | window.location.search | 取得到 | 是的 |
注意:
在前端:
最好严格区分query string和url hash,query string用于后端判断,url hash用于前端判断。
因此:
http://example.com/c/123123
query string和hash的区别还可以看这个slideshare。(打不开?你懂得)
怪我咯2017-04-10 13:12:41
首先需要建立 关键字符串与对应网址的一一对应表,一般存储在数据库里面。
然后 根据请求字符串 查寻数据库 实施跳转。不需要利用js.
跳转可以直接使用 header(),也可以使用js.