2013-04-13 80 views
0

我搜索了很多相關的問題的答案,其中沒有真正解決我的問題HTTP_X_REQUESTED_WITH不存在,所以我有這樣的代碼:PHP:請求頁面時用AJAX

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { 

}else{ 
    echo("This page can't be accessed."); 
} 

我試圖重新命名HTTP_X_REQUESTED_WITHHTTP_X_REQUEST_WITH,由於另一個問題的答案,我看到有時請求被髮送爲HTTP_X_REQUEST_WITH而不是HTTP_X_REQUESTED_WITH

但沒有這些工作,這是很奇怪的,因爲它前幾天工作的...

+0

'print_r($ _ SERVER)'顯示什麼? –

+0

使用控制檯的網頁瀏覽器並查看發送了哪些標題。在所有瀏覽器中都會出現此錯誤? –

+0

它顯示:http://pastie.org/private/qwuaj5rceadaumskrssnq 在哪裏我可以檢查哪些標題發送? – Debels

回答

1

AJAX請求不會自動獲得HTTP_X_REQUESTED_WITH頭。

jQuery和大多數其他庫發送它,但如果您已經推出了自己的AJAX,則需要推出自己的HTTP_X_REQUESTED_WITH標頭。

+0

我試着在AJAX請求中附加HTTP_X_REQUESTED_WITH標頭,但它拋出和錯誤,我不知道爲什麼:/ – Debels

+0

那麼,什麼錯誤? – ceejayoz

0

對於主要的現代瀏覽器,HTTP_X_REQUESTED_WITH已更改爲X_REQUESTED_WITH。 請注意,有些瀏覽器可能仍然使用HTTP_X_REQUESTED_WITH