我试图通过只传递客户端javascript的URL传递变量。传递它们之间有什么区别:
VAR1 = VAL1&安培; VAR2 = val2的
VS
#VAR1 = VAL1&安培; VAR2 = val2的
答案 0 :(得分:1)
?
(查询部分)被发送到服务器,#
(哈希部分)没有。
使用哈希部分时,它不会重新加载页面。使用查询部分时,它将重新加载页面。
答案 1 :(得分:1)
第一个是搜索,第二个是哈希。
搜索被发送到服务器,但哈希不是。
有一个hashchange事件,但不适用于搜索。
https://developer.mozilla.org/en/DOM/window.location enter link description here
答案 2 :(得分:0)
第一个?var1=val1&var2=val2
是一个查询字符串,让浏览器发出请求。
第二个是片段,不会做新的请求。
答案 3 :(得分:0)
"#"通常是在页面上单击的链接,用作页面锚点。
""是通过客户端/服务器传递的参数。
答案 4 :(得分:0)
服务器永远不会看到哈希标记变量,因此无法在服务器上复制状态(因此,搜索机器人无法获取它)
解析标准?name=value
稍微容易一些,因为location.search
会为您提供该部分网址
更改?
会导致页面刷新,设置#
将不会