AJAX PHP Example

یکی از پرکاربردترین روش‌ها برای تعامل AJAX با سرور، استفاده از PHP است.
با AJAX می‌توانیم داده‌ها را بدون رفرش صفحه از سرور PHP دریافت یا به آن ارسال کنیم.

🔹 1. ساخت فایل PHP نمونه

فرض کنید یک فایل با نام data.php داریم که اطلاعات کاربر را برمی‌گرداند:

<?php $user = array( "name" => "Ali", "age" => 25, "email" => "ali@example.com" ); // تبدیل آرایه به JSON echo json_encode($user); ?>

📌 استفاده از JSON باعث می‌شود پردازش داده‌ها در جاوااسکریپت آسان‌تر شود.

🔹 2. درخواست AJAX به PHP با XMLHttpRequest

let xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { let user = JSON.parse(this.responseText); document.getElementById("demo").innerText = `Name: ${user.name}, Age: ${user.age}, Email: ${user.email}`; } }; xhttp.open("GET", "data.php", true); xhttp.send();

📌 این کد داده‌های JSON از سرور PHP دریافت و روی صفحه نمایش می‌دهد.

🔹 3. درخواست AJAX به PHP با Fetch API

fetch("data.php") .then(response => response.json()) .then(user => { document.getElementById("demo").innerText = `Name: ${user.name}, Age: ${user.age}, Email: ${user.email}`; }) .catch(error => console.error("Error:", error));

📌 Fetch API نسخه مدرن‌تر و ساده‌تر AJAX است.

🔹 4. ارسال داده به PHP با POST

let xhttp = new XMLHttpRequest(); xhttp.open("POST", "submit.php", true); xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { console.log(this.responseText); } }; xhttp.send("name=Ali&age=25");

submit.php

<?php $name = $_POST['name']; $age = $_POST['age']; echo "Received: Name = $name, Age = $age"; ?>

📌 داده‌ها از جاوااسکریپت به PHP ارسال می‌شوند و پاسخ سرور در همان صفحه پردازش می‌شود.

🔹 5. نکات مهم

  • همیشه JSON را برای انتقال داده بین JS و PHP ترجیح دهید.

  • بررسی وضعیت درخواست با readyState و status الزامی است.

  • برای POST، هدر Content-type را تنظیم کنید.

✅ خلاصه

  • AJAX + PHP → تبادل داده بدون رفرش صفحه

  • GET → دریافت داده از سرور

  • POST → ارسال داده به سرور

  • JSON → پردازش آسان داده‌ها در JS

  • XMLHttpRequest یا Fetch API → روش‌های ارسال/دریافت داده