嗨我正在使用ajax加载页面,也用于后退按钮设施。一切都很好,除了一个。我缩小了我的问题,但无法得到任何解决方案。我的主页有一个容器div,我加载大部分页面而不重新加载像gmail一样的整个页面。
对于pjax,它还为seo友好的URL加载标签。
但主页中有一个div包含“<?php echo $pagename; ?>
”,它从加载的页面获取页面名称并在div中显示。它只有在浏览器重新加载时才有用。否则,当我连续打开页面时,它不会改变,它会显示前一页。
所以我该如何解决这个问题。我正在考虑刷新包含页面名称的div。那怎么办呢?
答案 0 :(得分:0)
PHP代码总是在服务器端执行,所以当你使用pjax时这个div不会改变。您需要像处理内容div一样手动更改页面名称div。您可以通过2次pjax调用,或者将ajax响应拆分为pagename和content(但也许pjax不是正确的解决方案)来完成此操作。
答案 1 :(得分:0)
您可以向包含echo $pagename
的文件发送ajax请求,并使用javascript显示响应(可以是$ pagename)。
由于您使用的是jquery,因此可以使用$.ajax来实现此目的。
这是代码
$.ajax({
type = "POST",
url = "your-php-file-path",
}).done(function(response){
$("#div-id").html(response);
});