PHP中怎么判斷AJAX請(qǐng)求

PHP中怎么判斷AJAX請(qǐng)求,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

創(chuàng)新互聯(lián)公司是一家網(wǎng)站設(shè)計(jì)公司,集創(chuàng)意、互聯(lián)網(wǎng)應(yīng)用、軟件技術(shù)為一體的創(chuàng)意網(wǎng)站建設(shè)服務(wù)商,主營產(chǎn)品:響應(yīng)式網(wǎng)站、品牌網(wǎng)站建設(shè)網(wǎng)絡(luò)營銷推廣。我們專注企業(yè)品牌在網(wǎng)站中的整體樹立,網(wǎng)絡(luò)互動(dòng)的體驗(yàn),以及在手機(jī)等移動(dòng)端的優(yōu)質(zhì)呈現(xiàn)。成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、移動(dòng)互聯(lián)產(chǎn)品、網(wǎng)絡(luò)運(yùn)營、VI設(shè)計(jì)、云產(chǎn)品.運(yùn)維為核心業(yè)務(wù)。為用戶提供一站式解決方案,我們深知市場的競爭激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞析悅目的作品,網(wǎng)站的價(jià)值服務(wù)。

你可以通過傳遞參數(shù)的方法來實(shí)現(xiàn),例如使用如下網(wǎng)址請(qǐng)求:

/path/to/pkphp.com/script.php?ajax

在PHP腳本中使用如下方法判斷:

if(isset($_GET['ajax'])) {
…這是一個(gè)ajax請(qǐng)求,然后…
}
else {
…這不是一個(gè)ajax請(qǐng)求,然后…
}

通過傳遞_GET參數(shù)的方法簡單實(shí)現(xiàn)了網(wǎng)頁請(qǐng)求的判斷。但是如果需要這樣的功能,這個(gè)方法可能就有弊端,功能需求如下:

1.通過ajax請(qǐng)求的網(wǎng)頁與普通請(qǐng)求的網(wǎng)頁內(nèi)容是不相同的;

2.通過ajax請(qǐng)求的網(wǎng)頁是為了方便用戶操作,兩種方法請(qǐng)求打開的網(wǎng)頁必須的內(nèi)容是相同的,只是ajax請(qǐng)求到的網(wǎng)頁內(nèi)容比較簡化和使用,去除了網(wǎng)頁的大框架模板;

3.這么做的目的是:用戶在網(wǎng)頁操作時(shí)通過ajax實(shí)現(xiàn),而搜索引擎訪問網(wǎng)頁時(shí)(相當(dāng)于普通打開網(wǎng)頁),得到的內(nèi)容是一個(gè)完整的網(wǎng)頁(包含了網(wǎng)頁的大框架模板)。

要完成上面的這個(gè)功能,就不能使用前面介紹的通過GET參數(shù)傳遞來判斷了,如果使用GET傳遞來判斷的話,用戶ajax請(qǐng)求和普通網(wǎng)頁請(qǐng)求都會(huì)是一樣的內(nèi)容,因?yàn)槟悴豢赡転橐粋€(gè)鏈接設(shè)置一個(gè)帶ajax判斷參數(shù)和不帶的URL。那么如何才能實(shí)現(xiàn)這個(gè)功能呢?必須通過服務(wù)器端PHP判斷解決這個(gè)問題。也就是今天要說的PHP如何判斷ajax請(qǐng)求。這個(gè)問題要解決有一個(gè)先決條件,那就是你使用的ajax框架必須是jquery。在jquery框架中,對(duì)于通過它的$.ajax, $.get, or $.post方法請(qǐng)求網(wǎng)頁內(nèi)容時(shí),它會(huì)向服務(wù)器傳遞一個(gè)HTTP_X_REQUESTED_WITH的參數(shù),你可以利用如下方法判斷某個(gè)請(qǐng)求是ajax請(qǐng)求還是普通請(qǐng)求:

if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER
['HTTP_X_REQUESTED_WITH']) == ‘xmlhttprequest’)
{
…這是一個(gè)ajax請(qǐng)求,然后…
}
else {
…這不是一個(gè)ajax請(qǐng)求,然后…
}

利用這個(gè)來進(jìn)行判斷操作,可以使網(wǎng)頁端的URL保持一致,但是能夠?qū)煞N不同的請(qǐng)求卻能夠得到不同內(nèi)容的網(wǎng)頁。即實(shí)現(xiàn)了用戶操作優(yōu)化,又不影響搜索引擎收錄,我覺得是一個(gè)很棒的解決方案!

這里有一個(gè)另外需要注意的問題,就是如果你的jquery請(qǐng)求是通過iframe打開網(wǎng)頁的,那么HTTP_X_REQUESTED_WITH參數(shù)不會(huì)被傳遞,也就是說你沒有辦法判斷請(qǐng)求的類型。

看完上述內(nèi)容,你們掌握PHP中怎么判斷AJAX請(qǐng)求的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

新聞名稱:PHP中怎么判斷AJAX請(qǐng)求
當(dāng)前地址:http://bm7419.com/article4/igdcie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)網(wǎng)站收錄、靜態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化網(wǎng)站導(dǎo)航、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司