Ajax এর পুরো অর্থ হচ্ছে Asynchronous JavaScript and XML. জাভাস্ক্রিপ্ট এবং এক্সএমএল নিয়ে এজাক্স কাজ করে।
ওয়েব পেইজে আমরা যখন কোন লিংককে ক্লিক বা কোন ফরম সাবমিট করি তখন আপনার browser টি server কে বলে আমাকে অমুক পেইজটি দাও বা অমুক কাজটি কর এই প্রক্রিয়াটিকে বলে request পাঠানো। আর ওয়েব সার্ভার আপনার browser এই request গ্রহন করে উত্তর সরূপ আপনাকে পাঠায় আপনার কাঙ্ক্ষিত পেইজ। একে বলে response দেওয়া। অর্থাৎ browser, server কে request পাঠায় আর সার্ভার তা process করে তার response আবার Browser কে পাঠায়। তবে উল্টোও ঘটতে পারে। শুধু এতটুকু বুঝে নিন যে browser request পাঠায় আর server পাঠায় response।
Asynchronous বলতে বুঝানো হচ্ছে ইউজারের আড়ালে একটি কার্যপ্রবাহ। এই প্রক্রিয়াটি মূল কাজটিকে মোটেও বাধাগ্রস্ত করে না, বরং কাজের ধারাবাহিকতা ও গতিশীলতা বজায় রাখতে সাহায্য করে। আমরা ফেসবুক থেকে বিষয়টা ক্লিয়ার হতে পারি। ফেইসবুকের মূল পেইজে আমাদের সকল বন্ধুদের স্টেটাস ও অন্যান্য তথ্য প্রদর্শন করে, যার জন্য আমাদের পেইজটি রিলোড দিতে হয় না। সুতরাং ফেইসবুকের এই কাজটা কিভাবে করে? ফেইসবুক আপনার প্রোফাইল আইডিটি তাদের সার্ভারে প্রেরণ করে, সার্ভার আপনার ফেইসবুক বন্ধুদের আপডেট স্টেটাস গুলো জোগার করে। পেইজটি রিলোড না নিয়ে স্টেটাস গুলো আপনার মূল পেইজে পেইজে প্রদর্শন করে।
এছাড়া আমরা বিভিন্ন সাইটে যে চ্যাট করি বা বিভিন্ন ইকমার্স সাইটে যে কেনাকাটা করি এসব ক্ষেত্র কিন্তু পেজ রিলোড না দিয়েই সব করতে পারি। এসব ক্ষেত্র ajax method ব্যবহার করেই ডাটা আদান প্রদান হয়।
ajax তার কাজের জন্য নিম্নোক্ত tool/language ব্যবহার করে:
- XMLHttpRequest Object (নতুন ব্রাউজার ও IE7+ এর জন্য)
- ActiveXObject (IE6 ও নিচে)
- JavaScript/DOM (ব্রাউজার ও সার্ভারের জন্য)
- XML (ফলাফল দেখানোর জন্য)
- JSON (ফলাফল দেখানোর জন্য)
- HTML (ফলাফল দেখানোর জন্য)
অসুবিধা:
ajax ব্যবহারের কিছু অসুবিধাও আছে। যেহেতু আপনার ওয়েবপেইজটি রিলোড নিচ্ছে না, সেহেতু আপনার রিলোড ও নেভিগেশনের দরকার পড়ছে না। ফলে আপনার পেইজের লিঙ্কটিও পরিবর্তন হচ্ছে না। সুতরাং ইউজার কাজ করার সময় যদি কোনো ভুল করে অথবা ফাংশনগত কোনো কারণে যদি কোনো সমস্যা হয়, তবে ইউজারের পিছনে ফিরে যাবার কোনো রাস্তা থাকলো না।
আর একটি বড় সমস্যা হচ্ছে এজাক্স জাভাস্ক্রিপ্ট ব্যবহার করে। সুতরাং কোনো ইউজার যদি ব্রাউজারে জাভাস্ক্রিপ্ট নিষ্ক্রিয় করে রাখেন তখন তার সেই সাইট ব্যবহারে সমস্যা হবে। ডেভেলপারকে এটা মাথায় রাখতে হবে।
জাভা অনেক ব্যতিক্রম একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ
Comments (No)