您好,登錄后才能下訂單哦!
這篇文章主要介紹了php如何判斷是不是ajax請求,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
php判斷是不是ajax請求的方法:1、通過“if(isset($_SERVER["HTTP_X_REQUESTED_WITH"]){...}”方法判斷;2、通過給頭部添加xmlhttp信息進行判斷。
本文操作環境:Windows7系統、PHP7.1版本、Dell G3電腦
php怎么判斷是不是ajax請求?
PHP 判斷是否為 AJAX 請求
先說前端使用 jQuery 時怎么區分:
jQuery 發出 ajax 請求時,會在請求頭部添加一個名為 X-Requested-With 的信息,信息內容為:XMLHttpRequest
在后端可以使用 $_SERVER["HTTP_X_REQUESTED_WITH"] 來獲取。(注意:中劃線換成了下劃線,不區分大小寫)
由此,我們可以這樣來判斷是否為 ajax 請求:
// php 判斷是否為 ajax 請求 http://www.cnblogs.com/sosoft/ if(isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"])=="xmlhttprequest"){ // ajax 請求的處理方式 }else{ // 正常請求的處理方式 };
在使用原生 JavaScript 發出 ajax 請求時,我們也可以給頭部添加信息,以方便后端同學進行區分,方法如下:
var xmlhttp=new XMLHttpRequest(); xmlhttp.open("GET","test.php",true); xmlhttp.setRequestHeader("X-Requested-With","XMLHttpRequest"); xmlhttp.send();
這里我們也一樣是給頭部添加 X_REQUESTED_WITH 信息,與 jQuery 的一致。當然你也可以更改為別的信息來進行區分。
OK,進行區分之后有什么好處呢?說兩個例子:
1.當 js 文件未加載完時,用戶點擊了某個按鈕或鏈接,本應是 ajax 請求的成了 正常請求,后端根據判斷,不輸出 ajax 時的 json 數據,而是跳轉,這也是優雅降級的形式。
2. [A 頁面]使用 ajax 方式進行登錄,[B 頁面]使用正常方式登錄,如果不區分,后端需要寫兩次幾乎完全相同的代碼,而有了區分,可以把重復的代碼消掉。
開啟PHP的偽靜態 。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“php如何判斷是不是ajax請求”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。