【发布时间】:2023-03-08 00:34:01
【问题描述】:
我在使用 history.js 时遇到了一点问题。
我尝试使用 history.js + ajax 和 dojotoolkit 来实现类似 github 的源浏览器。
它可以工作,但我在服务器端遇到了一个小问题
我使用php,当某个页面加载history.js pushState时,服务器会首先检查请求类型,“是ajax吗?”。如果是ajax,则服务器只返回页面的请求部分,如果不是,服务器将返回整页。
问题是,如果我关闭浏览器,然后重新打开它,页面将只显示服务器返回的 ajax 页面,而不是完整页面,因为它仍然被称为 ajax 请求。
我该如何解决这个问题?
【问题讨论】:
-
服务器怎么知道是ajax请求?重新打开浏览器后,服务器应该只有地址字段中的 url。常见的做法是检查标头
X-REQUESTED-WITH的值“xmlhttprequest” - 如果这是服务器正在执行的操作,那么您应该没有问题。
标签: php ajax history.js