为什么URL的散列部分在服务器端不可用?例如,如果我输入URL:http:/www.foo.com/page.php?参数=KKME#MOREURL然后在服务器上没有部分:#MOREURL在没有jQueryAjax的情况下,可以将这些部分发送或获取到服务器吗?
3 回答
蓝山帝景
TA贡献1843条经验 获得超7个赞
当表单提交时,获取散列(window.location.hash)并将其存储在服务器端隐藏的输入字段中,将其放入一个ID为“url散列”的dIV中,这样我们以后就可以很容易地找到它。 在服务器上
如果需要使用该值,可以使用它。如果你需要的话,你甚至可以改变它。 页面加载 在客户端,检查此隐藏字段的值。您将希望通过包含在其中的DIV找到它,因为不知道自动生成的ID。 是的,您可以在这里使用.ClientID进行一些技巧,但是我们发现只使用包装器DIV就更简单了,因为它允许所有这些Javascript驻留在外部文件中,并以通用的方式使用。如果隐藏输入字段有一个有效值,将其设置为URL散列(再次设置为window.locaion.hash)和/或执行其他操作。
$("form").submit(function() { $("input", "#urlhash").val(window.location.hash);});
var hashVal = $("input", "#urlhash").val();if (IsHashValid(hashVal)) { window.location.hash = hashVal;}
添加回答
举报
0/150
提交
取消