我的網站使用AJAX將頁面加載到div
中,併發送以下自定義標頭,其中包含每個AJAX請求:X-AJAXRequest
。使用自定義HTTP標頭時的奇怪行爲
如果標題存在,我的網站將發送沒有頁眉和頁腳的主體,否則會發送整個頁面。
這是我的PHP代碼:
if (!empty($_SERVER['HTTP_X_AJAXREQUEST']))
{
echo($head);
echo($body);
echo($scripts);
}
else{
include("master.php");
}
現在的問題是,當有人訪問X,點擊Y上的鏈接,然後Y的點擊對X,X裝有頁眉和頁腳彷彿標題不存在。甚至當開發人員工具(f12)打開時,這也不會發生!
我認爲這可能是緩存,因爲IE11(我正在開發的瀏覽器)有Back Navigation Caching,但即使如此,爲什麼要緩存刪除我的頭?
Here's鏈接,這是使用問題
緩存不與您的標題交互;緩存意味着_no請求正在被髮送,並使用緩存值。如果devtools打開它的工作,這絕對是緩存問題。響應設置no-cache頭。 – mudasobwa 2014-11-04 15:59:30
需要注意的是,已經有一個常用的(儘管是非標準的)ajax請求頭,它的「X-Requested-With:XMLHttpRequest」。 – Flosculus 2014-11-04 16:08:40
@Flosculus我知道,但我不想檢查標題的值 – user3088260 2014-11-04 16:16:38