AJAX - Server Response

در AJAX، بعد از ارسال درخواست به سرور، مهم‌ترین بخش پاسخ سرور (Server Response) است.
این پاسخ می‌تواند شامل متن ساده، JSON، XML یا HTML باشد و با جاوااسکریپت پردازش می‌شود تا بدون رفرش صفحه نمایش داده شود.

🔹 1. دسترسی به پاسخ سرور

در XMLHttpRequest، پاسخ سرور در دو ویژگی اصلی ذخیره می‌شود:

  • responseText → پاسخ به صورت متن ساده یا JSON

  • responseXML → پاسخ به صورت XML

let xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { console.log(this.responseText); // متن یا JSON console.log(this.responseXML); // XML اگر ارسال شده باشد } }; xhttp.open("GET", "data.txt", true); xhttp.send();

🔹 2. بررسی وضعیت پاسخ

برای اطمینان از موفقیت درخواست، از ویژگی status استفاده می‌کنیم:

if (xhttp.status == 200) { console.log("پاسخ موفقیت‌آمیز است"); } else { console.error("خطا در پاسخ سرور: " + xhttp.status); }

📌 رایج‌ترین کدهای وضعیت HTTP:

  • 200 → موفق

  • 404 → منبع پیدا نشد

  • 500 → خطای سرور

🔹 3. پردازش JSON

اگر سرور پاسخ JSON بدهد، باید آن را با JSON.parse به آبجکت جاوااسکریپت تبدیل کنیم:

xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { let data = JSON.parse(this.responseText); console.log(data.name); // دسترسی به مقادیر } };

🔹 4. مثال کاربردی

فرض کنید سرور یک فایل JSON با اطلاعات کاربر می‌فرستد:

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}`; } }; xhttp.open("GET", "user.json", true); xhttp.send();

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

🔹 5. نکات مهم

  • همیشه وضعیت readyState == 4 و status == 200 را بررسی کنید.

  • پاسخ می‌تواند: متن، HTML، JSON یا XML باشد.

  • اگر JSON باشد، قبل از استفاده باید parse شود.

  • می‌توان پاسخ را مستقیماً در DOM قرار داد یا برای پردازش بیشتر استفاده کرد.

✅ خلاصه

  • Server Response → داده‌ای که بعد از درخواست AJAX از سرور دریافت می‌کنیم

  • ویژگی‌ها: responseText و responseXML

  • بررسی وضعیت با status

  • JSON باید با ()JSON.parse پردازش شود

  • AJAX امکان نمایش پاسخ بدون رفرش صفحه را فراهم می‌کند