本篇說明PHP如何判斷是否為AJAX請求? 。
Jquery發送的ajax請求
jquery會在請求頭加一個X-Requested-With 訊息,訊息內容為XMLHttpRequest,這樣php可以使用$_SERVER這個全域數組來判別是否為ajax請求
// php判斷是否為ajax請求
if (isset($_SERVER["HTTP_X_REQUESTED_WITH"] && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"] == 'xmlhttprequest')){ // 是ajax请求 } else { // 不是ajax请求 }
#所以這裡令我想到了TP裡面了一個判斷是ajax請求的常數IS_AJAX
這裡看一下這個常數是怎麼定義的
在ThinkPHP(3.2.2)中在ThinkPHP/Library/Think/APP.class.php(Line:49)
define('IS_AJAX', ((isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') || !emtpty($_POST(C('VAR_AJAX_SUBMIT')] || !empty($_GET[C('VAR_AJAX_SUBMIT')])) ? true : false);
#可見ThinkPHP就是利用這種原理或自己在表單中提交的
原生js發起的ajax請求
需要自己加入請求頭訊息,這樣才可以在後台進行判斷
本篇講解PHP如何判斷是否為AJAX請求,更多相關內容請關注php中文網。
相關推薦:
php程式報date()警告的處理的解決方法以上是PHP如何判斷是否為AJAX請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!