PHP - AJAX 簡介



PHP驅動的web應用程式經常使用AJAX,兩者結合起來可以建立動態和互動式的web應用程式。AJAX代表非同步JavaScript和XML。它允許網頁非同步更新,而無需重新載入整個頁面。

在AJAX應用程式中,web瀏覽器和伺服器端PHP指令碼之間的資料交換是非同步的。PHP是一種伺服器端指令碼語言,可以用來生成動態內容和處理資料。

AJAX在web應用程式和web伺服器之間建立了一個額外的層,稱為AJAX引擎,因此我們可以使用JavaScript進行後臺伺服器呼叫並檢索所需資料,可以更新網頁的請求部分而無需重新載入整個頁面。它減少了頁面重新整理時間,併為使用者提供了快速響應的體驗。

PHP AJAX Introduction

執行AJAX需要什麼?

AJAX使用的技術已經在所有現代瀏覽器中實現。因此,客戶端不需要任何額外的模組來執行AJAX應用程式。AJAX使用的技術包括:

  • JavaScript − 它是AJAX的重要組成部分。它允許你建立客戶端功能。或者我們可以說它用於建立AJAX應用程式。

  • XML − 用於在web伺服器和客戶端之間交換資料。

  • XMLHttpRequest − 用於在web瀏覽器和web伺服器之間執行非同步資料交換。

  • HTML和CSS − 用於為網頁文字提供標記和樣式。

  • DOM − 用於動態地與網頁佈局和內容互動並更改它們。

要將AJAX與PHP一起使用,你需要在JavaScript中使用XMLHttpRequest物件向PHP伺服器傳送請求。然後,PHP伺服器將處理請求並返回響應,通常以JSON或XML的形式。然後,JavaScript程式碼可以解析響應並相應地更新網頁。

JavaScript中的XMLHttpRequest物件是一個基於瀏覽器的API,允許開發者向伺服器發出HTTP請求而無需重新載入頁面。這是AJAX程式設計的基礎,它允許建立動態和互動式的web應用程式。

XMLHttpRequest物件可以用來:

  • 從伺服器檢索資料,例如JSON、XML或HTML。

  • 向伺服器傳送資料,例如表單資料或檔案上傳。

  • 更新網頁而無需重新載入。

  • 建立聊天應用程式和其他互動式功能。

要使用XMLHttpRequest物件,首先需要建立一個新的例項。然後,可以使用open()方法指定HTTP方法和請求URL。接下來,如果需要,可以設定任何請求頭。最後,可以使用send()方法傳送請求。

示例

這是一個關於如何使用XMLHttpRequest物件從伺服器檢索資料的簡單JavaScript程式碼:

// Create a new XMLHttpRequest object
var xhr = new XMLHttpRequest();

// Set the HTTP method and request URL
xhr.open("GET", "test.php");

// Send the request
xhr.send();

// Listen for the onload event to be fired
xhr.onload = function() {

   // Check the status code to ensure the request was successful
   if (xhr.status === 200) {
   
      // Get the response data.
      var users = JSON.parse(xhr.responseText);

      // Do something with the user data.
   } else {   
      // Handle the error
   }
};

伺服器上的PHP指令碼從AJAX請求中檢索資料併發送回響應。

// Get the request data.
$name = $_GET["name"];

// Create a response object.
$response = new stdClass();
$response->message = "Hello, $name!";

// Send the response back to the client.
header("Content-Type: application/json");
echo json_encode($response);
廣告