我有一个像这样的网址的应用程序:
domain.com/category1/category2/ etc。
我看到ajax理解#并且可以将params传递给我的php脚本。我想知道ajax中是否有办法执行以下URL:
domain.com/#category1/category2 /
如果是这样,是否有一个我可以在jquery中使用的函数来执行此操作?我见过jquery bbq,但我很困惑这对我有什么帮助。感觉有一种更简单的方法,只需删除哈希并将剩余的url传递给我的php脚本,然后返回页面片段?
如何在不刷新页眉和页脚的情况下设置我的php脚本以返回主页片段?我是否需要检测到#或javascript已被调用,然后返回相关片段?
我正在尝试这种方式,但它没有发布Ajax:hasher参数。
<script>
hasher = document.location.hash;
hasher = hash.replace(/^.*#/, '');
$.ajax({ type: 'POST', url: url, data: {ajax:hasher}, dataType: 'html' });
</script>
<?php
echo $_POST['ajax'];
?>
我做错了吗?
为任何帮助干杯
柯
答案 0 :(得分:2)
您可以通过获取document.location.hash属性(这是标准属性,而不是jQuery)来获取哈希值(在#之后),然后通过调用$ .ajax并将其传递给服务器端脚本,例如{数据中的hash:document.location.hash}。
答案 1 :(得分:0)
我做错了吗?
是
请看下面的示例
$('a.submit').click(function(){
var hasher = document.location.hash;
hasher = (hasher.length>0)?hasher.substr(1):'';
$.ajax({
type: 'POST',
url: '/test.php',
data: {ajax:hasher},
dataType: 'html',
success:function(response) {
$('#ajax').html(response)
}
});
return false;
});