假设URL为:
www.example.com/?val=1#part2
PHP可以使用GET数组读取请求变量val1。
哈希值part2也是可读的吗?或者这仅仅取决于浏览器和JavaScript?
假设URL为:
www.example.com/?val=1#part2
PHP可以使用GET数组读取请求变量val1。
哈希值part2也是可读的吗?或者这仅仅取决于浏览器和JavaScript?
当前回答
我们也可以用另一种方法来做,比如首先从js中获取哈希值,然后使用该参数调用ajax,可以做任何我们想做的事情
其他回答
我们也可以用另一种方法来做,比如首先从js中获取哈希值,然后使用该参数调用ajax,可以做任何我们想做的事情
另一个解决方案是在php页面中添加一个隐藏的输入字段:
<input type="hidden" id="myHiddenLocationHash" name="myHiddenLocationHash" value="">
使用javascript/jQuery,你可以在页面加载或响应事件时设置该字段的值:
$('#myHiddenLocationHash').val(document.location.hash.replace('#',''));
在php的服务器端,你可以使用$_POST集合读取这个值:
$server_location_hash = $_POST['myHiddenLocationHash'];
是的,你可以:
使用此方法可以防止错误:
<script>
query=location.hash;
document.cookie= 'anchor'+query;
</script>
当然,在PHP中,爆炸那个小狗,得到其中一个值
$split = explode('/', $_COOKIE['anchor']);
print_r($split[1]); //to test it, use print_r. this line will print the value after the anchortag
它可以从Javascript中检索-作为window.location.hash。从那里,你可以用Ajax将其发送到服务器,或者将其编码并放入url中,然后可以传递到服务器端。
哈希值不会被发送到服务器,所以不会。