অ্যজাক্স (Asynchronous JavaScript and XML) হলো একটি ওয়েব ডেভেলপমেন্ট টেকনিক, যা ব্যবহার করে ওয়েব পেজকে রিলোড ছাড়াই ডাইনামিকভাবে আপডেট করা যায়। AJAX মূলত JavaScript ব্যবহার করে XMLHttpRequest অবজেক্টের মাধ্যমে সার্ভারের সাথে অ্যাসিঙ্ক্রোনাস ডেটা এক্সচেঞ্জ করে। এর ফলে ওয়েব পেজ ব্যবহারকারীর জন্য আরও ইন্টারেক্টিভ এবং দ্রুততর হয়, কারণ AJAX এর মাধ্যমে শুধুমাত্র নির্দিষ্ট অংশ আপডেট করা যায়, পুরো পেজ পুনরায় লোড করার প্রয়োজন হয় না।
AJAX (Asynchronous JavaScript and XML) হলো একটি ওয়েব ডেভেলপমেন্ট কৌশল, যা ব্যবহারকারীর ইন্টারফেসকে আরও ইন্টারেক্টিভ এবং ডায়নামিক করে তোলে। AJAX মূলত JavaScript ব্যবহার করে asynchronous data exchange পরিচালনা করে, যার ফলে পেজটি রিলোড না করেও সার্ভার থেকে ডেটা ফেচ করা যায় এবং ব্যবহারকারীর কাছে সেই ডেটা প্রদর্শিত হয়।
AJAX হলো একটি asynchronous পদ্ধতি, যার মাধ্যমে ওয়েব ব্রাউজার এবং ওয়েব সার্ভারের মধ্যে ডেটা আদান-প্রদান করা যায়। এখানে JavaScript, XMLHttpRequest অবজেক্টের মাধ্যমে সার্ভারের সাথে ডেটা ফেচ বা সাবমিট করা হয়, এবং সার্ভার থেকে প্রাপ্ত তথ্য ব্যবহার করে পেজে পরিবর্তন করা হয়। এর ফলে পেজটি রিলোড না করেই ডেটা পরিবর্তন করা সম্ভব হয়।
AJAX এর মাধ্যমে সার্চ ইঞ্জিনে টাইপ করার সময় ডাইনামিকভাবে সার্চ সাজেশন পাওয়া যায়, যেমন Google Search Autocomplete। যখন আপনি কোনো কিছু সার্চ বারে টাইপ করেন, AJAX রিকোয়েস্ট এর মাধ্যমে সার্চ টার্মের সাথে সম্পর্কিত সাজেশনগুলো দ্রুত প্রদর্শিত হয়।
AJAX এর মাধ্যমে ফর্ম সাবমিট করার আগে ডায়নামিক ফর্ম ভ্যালিডেশন করা যায়, যেমন: ইউজারনেম বা ইমেইল ঠিক আছে কিনা তা সার্ভার থেকে ভ্যালিডেট করা যায়।
অনেক ওয়েবসাইটে, যেমন Facebook বা Twitter, পেজ রিলোড ছাড়াই নতুন কন্টেন্ট infinite scroll এর মাধ্যমে AJAX ব্যবহার করে লোড করা হয়।
AJAX ব্যবহার করে লাইভ চ্যাট অ্যাপ্লিকেশন তৈরি করা হয়, যেখানে চ্যাট মেসেজগুলি দ্রুত লোড এবং আপডেট করা হয়।
ই-কমার্স সাইটে AJAX ব্যবহার করে শপিং কার্ট ডাইনামিকভাবে আপডেট করা যায়, যাতে ব্যবহারকারী পেজ রিফ্রেশ না করেই আইটেম যোগ বা মুছে ফেলতে পারে।
একটি সাধারণ AJAX GET রিকোয়েস্ট উদাহরণ:
// XMLHttpRequest তৈরি করা
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.example.com/data", true);
// সার্ভার থেকে রেসপন্স প্রাপ্তি হলে কাজ করা
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
document.getElementById("output").innerHTML = xhr.responseText;
}
};
// রিকোয়েস্ট পাঠানো
xhr.send();
উপরের উদাহরণে, XMLHttpRequest অবজেক্ট ব্যবহার করে সার্ভারে GET রিকোয়েস্ট পাঠানো হয়েছে, এবং সার্ভার থেকে প্রাপ্ত রেসপন্সকে HTML ডিভ আইডি output
এ ইনজেক্ট করা হয়েছে।
বর্তমানে AJAX একটি প্রচলিত এবং গুরুত্বপূর্ণ টেকনোলজি, তবে এর পাশাপাশি অন্যান্য টেকনোলজিও জনপ্রিয় হয়ে উঠেছে। যেমন:
Fetch API হলো AJAX এর একটি আধুনিক বিকল্প, যা promise-based এবং আরও সহজে ব্যবহারের জন্য ডিজাইন করা হয়েছে।
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
WebSockets হলো একটি নতুন কমিউনিকেশন প্রোটোকল, যা রিয়েল-টাইম যোগাযোগের জন্য ব্যবহৃত হয়। এটি দু’দিকের ডেটা আদান-প্রদান সমর্থন করে এবং chat applications এর মতো রিয়েল-টাইম যোগাযোগের জন্য আদর্শ।
AJAX হলো একটি শক্তিশালী এবং বহুল ব্যবহৃত ওয়েব ডেভেলপমেন্ট টেকনোলজি, যা ওয়েবপেজকে আরও ইন্টারেক্টিভ এবং ব্যবহারকারী-বান্ধব করে তোলে। পেজ রিলোড ছাড়াই ডেটা লোড করার সুবিধা প্রদান করে এটি ওয়েব অ্যাপ্লিকেশনগুলোকে আরও গতিশীল এবং দ্রুততর করে তোলে। AJAX এর পাশাপাশি Fetch API এবং WebSockets এর মতো নতুন প্রযুক্তিও বর্তমানে প্রচলিত হয়ে উঠছে, যা আরও উন্নত ডেটা এক্সচেঞ্জ সুবিধা প্রদান করে।