jQuery ajax - load() পদ্ধতি
উদাহরণ
AJAX রিকোর্ড দিয়ে div ইলেকট্রনিক তত্ত্বের টেক্সট পরিবর্তন করুন:
$("button").click(function(){ $("div").load('demo_ajax_load.txt'); });
সংজ্ঞা ও ব্যবহার
load() পদ্ধতি AJAX রিকোর্ড থেকে ডাটা লোড করে এবং ফিরে পাওয়া ডাটা নির্দিষ্ট ইলেকট্রনিক তত্ত্বে রাখে。
মন্তব্যঃএকটি নামকরা load এর jQuery ঘটনাপদ্ধতি। কোনোটি ব্যবহার করা হবে, তা পারামিটারের উপর নির্ভর করে。
গঠনশৈলী
load(url,data,function(response,status,xhr))
পারামিটার | বর্ণনা |
---|---|
url | নির্দিষ্ট করা হবে, যেটির উপরে URL পাঠানো হবে। |
data | অপশনাল।পরিস্থিতির সাথে সার্ভার কেন্দ্রে পাঠানো ডাটা নির্দিষ্ট করতে |
function(response,status,xhr) |
অপশনাল।প্রকৃতির ফাংশন নির্দিষ্ট করতে, যা রিকোর্স করা হবে, নির্দিষ্ট করা হবে。 অতিরিক্ত পারামিটার
|
বিস্তারিত ব্যাখ্যা
এই পদ্ধতি সবচেয়ে সহজভাবে সার্ভার থেকে ডাটা ফেচ করার পদ্ধতি।এটি সবসময় $.get(url, data, success) এর সমতুল্য, কিন্তু এটি একটি সার্ভিসিং ফাংশন নয়, এবং এটি অন্তর্নিহিত কলব্যক্তি প্রদান করে।যখন সফল প্রতিক্রিয়ার ব্যাপারে দেখা যায় (যেমন, textStatus "success" বা "notmodified"), .load() ম্যাচ করা এলমেন্টের HTML কনটেন্টকে ফেচ করা ডাটা সংযুক্ত করবে, এই মানে যে, এই পদ্ধতির অধিকাংশ ব্যবহার খুবই সহজ হবে:
$("#result").load("ajax/test.html");
যদি কলব্যক্তি ফাংশন প্রদান করা হয়, তবে পোস্ট-প্রসেসিং পর এই ফাংশনটি চালু করা হবে:
$("#result").load("ajax/test.html", function() { alert("Load was performed."); });
উপরোক্ত দুই উদাহরণগুলিতে, যদি বর্তমান ডকুমেন্টটি "result" আইডি না ধারণ করে, তবে .load() পদ্ধতিটি কোনও কাজ করবে না。
যদি প্রদত্ত তথ্য অবজেক্ট, তবে POST পদ্ধতিকে ব্যবহার করা হবে; না তবে GET পদ্ধতিকে ব্যবহার করা হবে。
পেজ স্প্লিগেট লোড করা
.load() পদ্ধতি, $.get() থেকে ভিন্ন, আমাদের দিয়ে সংযুক্ত দূরস্থ কনটেন্টের কোনও অংশ সংযুক্ত করতে অনুমতি দেয়, এই কারণে উল্লিখিত হয় কোনও বিশেষ ইউরল সিন্ট্যাক্স।এই শব্দগুলিতে একটি বা একাধিক স্পেস থাকলে, প্রথম স্পেসের পরের শব্দটি সম্পূর্ণভাবে জিনিসপত্র হিসাবে কাজ করে, যা লোড করা কনটেন্টকে জিনিসপত্র হিসাবে ব্যবহার করবে。
এই উদাহরণটি পরিবর্তন করে আমরা ফেচ করা কনটেন্টের কোনও অংশ ব্যবহার করতে পারি:
$("#result").load("ajax/test.html #container");
যদি এই পদ্ধতিকে প্রচলিত করা হয়, তবে তা একটি কনটেইনার আইডি যুক্ত এলমেন্টের কনটেন্টকে ফেচ করবে, কিন্তু তারপর, jQuery ফেচ করা কনটেন্টকে পার্স করবে এবং তা সহ সমস্ত কনটেন্টকে, ফলাফল আইডি যুক্ত এলমেন্টে যোগ করবে, ফেচ করা কনটেন্টকে অন্যত্র উচ্ছেদ করা হবে。
jQuery ব্রাউজারের .innerHTML প্রকারক ব্যবহার করে নিচের ডকুমেন্টটি পার্সিং করে, এবং এটিকে বর্তমান ডকুমেন্টে ইনসার্ট করে। এই প্রক্রিয়ায়, ব্রাউজার সাধারণত ডকুমেন্ট থেকে ইলেকট্রনিক সামগ্রী, <html>, <title> বা <head> ইলেকট্রনিক সামগ্রীকে ফিল্টার করে দেয়। ফলস্বরূপ, .load() দ্বারা নিচের ডকুমেন্টটি ব্রাউজার দ্বারা প্রাপ্ত ডকুমেন্টের সঙ্গে সম্পূর্ণরূপেই সমান নয়।
মন্তব্যঃব্রাউজারের নিরাপত্তা সীমাবদ্ধতার কারণে, অধিকাংশ "Ajax" রিকোর্ড সমস্ত সোর্স পলিসি মেনে চলে; আলাদা ডোমেন, সাব ডোমেন বা প্রোটোকল থেকে রিকোর্ড পাওয়া সম্ভব নয়。
আরও উদাহরণ
উদাহরণ 1
feeds.html ফাইলের কনটেন্ট লোড করা
$("#feeds").load("feeds.html");
উদাহরণ 2
উপরের উদাহরণের মতো, কিন্তু POST রূপান্তরের মাধ্যমে অতিরিক্ত পারামিটার পাঠানো এবং সফল হলে সংবাদ দেখানো
$("#feeds").load("feeds.php", {limit: 25}, function(){ alert("The last 25 entries in the feed have been loaded"); });
উদাহরণ 3
একটি অসূচীত তালিকায় আর্টিকেল সাইডবার নেভিগেশন অংশ লোড করা
HTML কোডঃ
<b>jQuery Links:</b> <ul id="links"></ul>
jQuery কোডঃ
$("#links").load("/Main_Page #p-Getting-Started li");
আরও TIY উদাহরণ
- AJAX রিকোর্ড তৈরি করা এবং এই রিকোর্ড দ্বারা ডাটা পাঠানো
- কিভাবে data পারামিটার ব্যবহার করে AJAX রিকোর্ড দ্বারা ডাটা পাঠানো যায়।(এই উদাহরণ AJAX টিউটোরিয়ালে বর্ণনা করা হয়েছে)。
- AJAX রিকোর্ড তৈরি করা এবং কলব্যাক ফাংশন ব্যবহার করা
- কিভাবে function পারামিটার ব্যবহার করে AJAX রিকোর্ড থেকে ডাটা ফলাফল প্রক্রিয়াজাত করা যায়。
- ত্রুটি সহ AJAX রিকোর্ড তৈরি করা
- কিভাবে function পারামিটার ব্যবহার করে AJAX রিকোর্ডের ত্রুটিকে হালনাগাদ করা যায় (XMLHttpRequest পারামিটার ব্যবহার করে)。