AJAX – সার্ভার রেসপন্স নিয়ে পূর্ণাঙ্গ বাংলা টিউটোরিয়াল
AJAX ব্যবহার করে যখন আপনি কোনো সার্ভারে ডাটা পাঠান বা ডাটা চান, তখন সার্ভার একটি রেসপন্স দেয়। এই রেসপন্সকে বলা হয় Server Response। এই রেসপন্স বিভিন্ন রকম হতে পারে যেমনঃ text, HTML, JSON বা XML।
XMLHttpRequest এর Server Response প্রপার্টিগুলো:
| প্রপার্টি | ব্যাখ্যা |
|---|---|
| responseText | সার্ভার থেকে আসা সাধারণ টেক্সট রেসপন্স |
| responseXML | XML ফরম্যাটে রেসপন্স (যদি সার্ভার XML পাঠায়) |
| status | HTTP স্ট্যাটাস কোড (২০০ = সফল) |
| statusText | HTTP স্ট্যাটাস মেসেজ (OK, Not Found ইত্যাদি) |
| readyState | রিকুয়েস্টের অবস্থা (৪ হলে রেসপন্স সম্পূর্ণ) |
উদাহরণ: Text রেসপন্স
// HTML
<button onclick="loadText()">টেক্সট লোড করুন</button>
<div id="output"></div>
// JavaScript
function loadText() {
var xhr = new XMLHttpRequest();
xhr.open("GET", "demo.txt", true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
document.getElementById("output").innerHTML = xhr.responseText;
}
};
xhr.send();
}
ব্যাখ্যা: সার্ভার থেকে demo.txt ফাইলে যা আছে তা রেসপন্স হিসেবে পাওয়া যাবে এবং সেটি responseText দিয়ে দেখানো হবে।
উদাহরণ: JSON রেসপন্স
// PHP (data.json ফাইল):
{
"name": "Hasan",
"age": 28,
"city": "Dhaka"
}
// JavaScript:
function loadJSON() {
var xhr = new XMLHttpRequest();
xhr.open("GET", "data.json", true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var data = JSON.parse(xhr.responseText);
document.getElementById("output").innerHTML =
"নাম: " + data.name + "<br>" +
"বয়স: " + data.age + "<br>" +
"শহর: " + data.city;
}
};
xhr.send();
}
ব্যাখ্যা: JSON ফাইল থেকে ডাটা এনে JSON.parse() দিয়ে অবজেক্টে রূপান্তর করা হয়েছে এবং HTML-এ দেখানো হয়েছে।
⚠️ সার্ভার রেসপন্স Error Handling
function loadData() {
var xhr = new XMLHttpRequest();
xhr.open("GET", "invalid.txt", true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
document.getElementById("output").innerHTML = xhr.responseText;
} else {
document.getElementById("output").innerHTML =
"Error: " + xhr.status + " (" + xhr.statusText + ")";
}
}
};
xhr.send();
}
ব্যাখ্যা: যদি ফাইল না পাওয়া যায় বা সার্ভারে সমস্যা হয় তাহলে status 404 বা অন্য কোড রিটার্ন করবে এবং আমরা তা হ্যান্ডল করব।
সারাংশ:
responseText= টেক্সট রেসপন্স পড়তেresponseXML= XML রেসপন্স পড়তেstatusওreadyStateদিয়ে চেক করতে হবে রেসপন্স ঠিক এসেছে কিনা- AJAX error handling প্রফেশনাল অ্যাপ্লিকেশন তৈরিতে খুবই গুরুত্বপূর্ণ