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影片教學》
以上是php怎麼判斷是不是ajax請求的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器