所以我有一个条件语句来确定请求是否是AJAX:
if ( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' ) {
// AJAX specific code
} else {
// GET specific code
}
有效。的种类。一旦我发出AJAX请求,服务器就会继续认为下一两分钟的每个请求都是一个AJAX请求。
我正在使用jQuery的$ .ajax方法来访问该页面。
您可以在实际网站上看到错误。如果您访问http://benjaminallison.com/并单击第一个链接(对于Burger Derby),则按预期加载信息。
如果您转到直接链接(http://benjaminallison.com/projects/burger-derby/),它也会按预期工作。但是,如果单击页面上的链接,触发AJAX调用然后尝试直接链接,或者只是尝试再次访问直接链接,您将看到由AJAX特定代码生成的页面!
我不知道这是浏览器/标头问题,jQuery问题还是服务器问题。
奇怪的是我在其他网站上使用过相同的技术并且运行良好;也许它是主持人(MediaTemple)具体。