導航:首頁 > 編程語言 > php如何使用ajax

php如何使用ajax

發布時間:2023-11-01 07:55:25

『壹』 如何在同一個php頁面,通過ajax把值傳給PHP變數

舉個例子:你想在用戶點擊時,把 apple 這個字元串,通過前端傳給後端。
前端,用 jQuery 舉例:
$('button').click(function () {
$.ajax({
url: '/xxx',
method: 'post',
dataType: 'json',
data: {fruit: 'apple'}
}).done(function (res) {
// 成功後的回調
}).fail(function (err) {
// 失敗後的回調
});
});

後端 PHP 處理:
$fruit = $_POST['fruit']; // 獲取從 ajax 傳過來的 fruit 的值,這里是 apple。

如果你想在前端重新顯示這個字元串 apple,那麼你要用 PHP 把數據返回給頁面,然後在上面 「// 成功後的回調」 裡面,補充邏輯代碼。

例如 PHP 把 apple 返回給前端:
return json_encode(array('fruit' => 'apple'));

前端回調處理:
// 成功後的回調
alert(res.fruit); // 彈框顯示 「apple」

實際上,$_POST 能夠獲取所有從前端用 post 方式提交過來的數據,不管你是頁面刷新方式,還是 ajax(jQuery 才叫 ajax,實際上它是 XMLHttpRequest,非同步非阻塞的請求方式)

『貳』 Ajax怎麼調用後台php代碼訪問資料庫並顯示

由 JavaScript 調用的伺服器頁面,是名為 "getuser.php" 的簡單 PHP 文件。
該頁面用 PHP 編寫,並使用 MySQL 資料庫。
其中的代碼執行針對資料庫的 SQL 查詢,並以 HTML 表格返回結果:
<?php
$q=$_GET["q"];

$con = mysql_connect('localhost', 'peter', 'abc123');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("ajax_demo", $con);

$sql="SELECT * FROM user WHERE id = '".$q."'";

$result = mysql_query($sql);

echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
</tr>";

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['FirstName'] . "</td>";
echo "<td>" . $row['LastName'] . "</td>";
echo "<td>" . $row['Age'] . "</td>";
echo "<td>" . $row['Hometown'] . "</td>";
echo "<td>" . $row['Job'] . "</td>";
echo "</tr>";
}
echo "</table>";

mysql_close($con);
?>

例子解釋:
當查詢從 JavaScript 被發送到這個 PHP 頁面,會發生:
PHP 打開到達 MySQL 伺服器的連接
找到擁有指定姓名的 "user"
創建表格,插入數據,然後將其發送到 "txtHint" 佔位符

『叄』 php如何獲取jquery ajax傳遞過來的值

方法和詳細的操作步驟如下:

1、第一步,安裝並配置PHP集成環境,以phpstudy為例,見下圖,轉到下面的步驟。

『肆』 Ajax向伺服器發送請求和接收返回的信息

Ajax向伺服器發送請求

Ajax對象創建完成後,下面就要講解一下Ajax如何使用。首先詳細講解一下Ajax向伺服器發送請求所需的兩個方法,具體如下:

(1)open()方法

open()方法用於創建一個新的HTTP請求,並指定此請求的類型(如GET、POST等)、URL以及驗證信息,其聲明方式如下所示:

在上述聲明中,method用於指定請求的類型,其值可為POST、GET、PUT及PROPFIND,大小寫不敏感;URL表示請求的地址,可以為絕對地址也可以為相對地址,並且可以傳遞查詢字元串。其餘參數為可選參數,其中,asyncFlagy用於指定請求方式,同步請求為false,默認為非同步請求true;userName用於指定用戶名,password用於指定密碼。

(2)send()方法

send()方法用於發送請求到HTTP伺服器並接收回應。其聲明方式如下所示:

在上述聲明中,content用於指定要發送的數據,其值可為DOM對象的實例、輸入流或字元串,一般與POST請求類型配合使用,需要注意的是,如果請求聲明為同步,該方法將會等待請求完成或者超時才會返回,否則此方法將立即返回。

需要注意的是,在使用GET方式傳遞特殊字元或中文參數時,要使用JavaScript中的encodeURIComponent()函數將其轉換成「%十六進制數」的形式,防止在某些瀏覽器(如IE瀏覽器)中中文亂碼的問題。

Ajax接收伺服器返回的信息

了解Ajax向伺服器發送請求後,下面將對Ajax如何接收伺服器返回的信息(例如,HTML標簽、CSS樣式、字元串、XML、JSON等),進行詳細講解。具體如下:

(1)readyState屬性

readyState屬性用於返回Ajax的當前狀態,狀態值有5種形式,具體如表所示。

(2)onreadystatechange屬性

onreadystatechange事件屬性用於感知readyState屬性狀態的改變。為了大家更好的理解這兩個屬性的使用,下面創建一個伺服器端的文件index.php,用於輸出字元串,然後在瀏覽器端index.html中向伺服器端發送請求,並在控制台輸出狀態值。具體示例如下所示:

創建伺服器端文件:index.php

創建瀏覽器端文件:index.html

在瀏覽器中訪問客戶端文件,按「F12」鍵,切換到控制台,查看輸出結果,具體如下圖所示。

從圖中可以看出,通過onreadystatechange事件屬性可以清晰的感知Ajax狀態的改變,同時使用readyState獲取轉變後的狀態值。例如Ajax從0(未初始化)狀態變成1(初始化)狀態值時,Ajax此時的狀態值為1。

(3)status屬性

status屬性用於返回當前請求的HTTP狀態碼,常見的狀態碼如表所示。

值得一提的是,在感知當前Ajax對象狀態時,為了追求程序的嚴謹性,需要同時判斷當前HTTP狀態status是否等於200(請求成功)。

需要注意的是,Ajax中的statusText屬性,僅當數據發送並接收完畢後,才可以獲取當前請求的響應狀態。

(4)獲取響應信息的相關屬性

當數據接收完畢且請求伺服器的請求成功時,即可以使用Ajax中提供的相關屬性獲取伺服器的響應信息。具體的屬性及相關說明如下表所示。

在上表中,responseText屬性用於返迴文本格式的響應數據;屬性responseBody表示直接從伺服器返回並未經解碼的二進制數據;responseXML屬性用於接收XML數據格式的響應數據。

閱讀全文

與php如何使用ajax相關的資料

熱點內容
ie文件夾禁止訪問 瀏覽:541
百川互聯網程序員 瀏覽:781
linuxpython解釋器 瀏覽:665
興安得力軟體加密狗 瀏覽:490
智能網路攝像頭加密 瀏覽:572
軟體畢業程序員培訓 瀏覽:650
安卓陀螺儀低怎麼辦 瀏覽:245
一級建造師復習題集pdf 瀏覽:901
法理學pdf海默 瀏覽:390
伺服器內存儲器是用什麼的 瀏覽:817
微幫同城分類信息源碼 瀏覽:806
安卓系統ad是什麼 瀏覽:471
python輸出中不加佔位符 瀏覽:594
linux文件夾許可權控制 瀏覽:728
雅虎郵箱怎麼加密碼 瀏覽:819
為什麼安卓手機登錄不了蘋果賬號 瀏覽:535
如何復制usb加密狗 瀏覽:799
哪個app看你微笑時很美 瀏覽:908
mac啟動命令 瀏覽:602
ngc伺服器是什麼的簡稱 瀏覽:73