phpajax請求
㈠ php如何判斷是否為AJAX請求
<spanstyle="font-size:18px;">/**
*是否AJAX請求
*@accessprotected
*@returnbool
*/
protectedfunctionisAjax(){
if(isset($_SERVER['HTTP_X_REQUESTED_WITH'])){
if('xmlhttprequest'==strtolower($_SERVER['HTTP_X_REQUESTED_WITH']))
returntrue;
}
if(!empty($_POST[C('VAR_AJAX_SUBMIT')])||!empty($_GET[C('VAR_AJAX_SUBMIT')]))
//判斷Ajax方式提交
returntrue;
returnfalse;
}</span>
㈡ PHP 如何判斷AJAX請求
要解決有一個先決條件,那就是你使用的ajax框架必須是jquery。
在jquery框架中,對於通過它的$.ajax, $.get, or $.post方法請求網頁內容時,它會向伺服器傳遞一個HTTP_X_REQUESTED_WITH的參數,你可以利用如下方法判斷某個請 求是ajax請求還是普通請求
if ( isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' ) {
//ajax request
} else {
// not ajax request
}
㈢ PHP判斷一個請求是AJAX請求還是普通請求
可以根據 HTTP 頭部HTTP_X_REQUESTED_WITH 來進行判斷,適合絕大多數瀏覽器。
提供代碼:
<?php
functionisAjax()
{
returnisset($_SERVER["HTTP_X_REQUESTED_WITH"])
&&$_SERVER["HTTP_X_REQUESTED_WITH"]==="XMLHttpRequest";
}
//使用
if(isAjax()){
echo"是AJAX請求";
}
不過,很多框架都包含判斷 ajax 的方法哦,開箱即用。
㈣ PHP判斷一個請求是Ajax請求還是普通請求
如果有用框架,一般都有提供對應的方法,如TP框架有IS_AJAX可用於判斷是ajax請求
如果沒用框架
1)可在ajax中多傳一個自定義的參數,後台接收該參數有值的話,就代表是ajax請求
2)判斷$_SERVER["HTTP_X_REQUESTED_WITH"]=="xmlhttprequest"
為true則是ajax請求
㈤ 如何用php判斷ajax請求的來源地址
服務端獲取客戶端信息的唯一方式就是通過HTTP的header,如果客戶端沒有通過header或者是其它方式把客戶端的信息傳輸到服務端,那麼服務端是不可能得到任何信息的,再者是如果客戶端提供信息了,但是服務端如果沒有接收的方式,也是沒有辦法。回到這個問答,服務端獲取請求來源的方式只有通過REFERER,而如果REFERER沒有傳輸或者也沒通過其它方式傳輸,那伺服器端就得不到值。因為HTTP Headr傳輸的信息本身就是有限的。
㈥ PHP許可權系統一些是AJAX請求,怎麼處理
就跳轉就行了,如果A標簽直接訪問,直接跳到錯誤頁面,並返回403.
如果是ajax請求的話,這個請求會報錯的,你只需要在 error 方法里監聽403狀態碼,如果當前請求返回的是一個403, 你直接在客戶端做提示就行了, 或者在客戶端跳轉到你的錯誤頁去。
$.ajax({
//...
error:function(jqXHR){
if(jqXHR.status==403)returnwindow.location.href='error.html';
}
})
㈦ 一個php網頁,多個ajax請求,怎麼處理
各個ajax是互相不幹擾的,你把ajax封起來嘛當一個函數,然後用事件去調用就可以了
我的第十題和第十一題都調用了ajaxUpdate函數,它就是我封裝的ajax的請求函數,第一個參數是接收的urldier個參數是傳遞的數據,默認是post方法發送,第三個參數是非同步傳輸的參考值我選定是false就是同步傳輸,這是用jquery寫的
㈧ php非同步處理多個ajax請求的問題
jquery中的ajax有個async:false,設為這個屬性就可以同時調用php
默認是true:非同步,false:同步。
$.ajax({
type: "post",
url: "path",
cache:false,
async:false,
success: function(data){
}
});
㈨ php 怎麼判斷是否ajax請求
思路:在你進行ajax請求的時候,設置一個文件頭信息的變數,在php端判斷這個信息是否存在以及是否等於自己設置的值,就可以知道是否是ajax請求了。
做法:js端發送頭信息
對象.setRequestHeader("變數名","變數值");
如 xmlHttp..setRequestHeader("X_REQUESTED_WITH","XMLHttpRequest");
php端接受信息,注意此時接受的變數存在 $_SERVER['HTTP_變數名'];中,
如上面的例子則為$_SERVER['HTTP_X_REQUESTED_WITH'];
echo isset($_SERVER['HTTP_X_REQUESTED_WITH'])&&($_SERVER['HTTP_X_REQUESTED_WITH']=='XMLHttpRequest')?'it is ajax':'it is not ajax';
注釋:js和jquery中有些許不同,自己注意一下,再者變數名字不要沖突了
附加:如果這是你自己的網站,你只是自己區別一下的話,這樣就可以了,但是,它是防止不了別人盜用你的ajax數據的,因為這些都是可以模擬的,一個好的方法是設計session驗證之類的。
㈩ ajax向php發送請求
直接用列印函數測試一下
echo 'GET:'.print_r($_GET);
echo 'POST:'.print_r($_POST);