Aj .JAX () এবং $ .get () এবং $ .লোড () এর মধ্যে পার্থক্য


উত্তর:


241

$.ajax()এটি হ'ল সবচেয়ে কনফিগারযোগ্য, যেখানে আপনি এইচটিটিপি শিরোনাম এবং এই জাতীয়গুলির উপর সূক্ষ্ম দানযুক্ত নিয়ন্ত্রণ পান। আপনি এই পদ্ধতিটি ব্যবহার করে এক্সএইচআর-অবজেক্টের সরাসরি অ্যাক্সেস পেতে সক্ষম হন। সামান্য আরও সূক্ষ্ম দানযুক্ত ত্রুটি-পরিচালনাও সরবরাহ করা হয়। অতএব আরও জটিল এবং প্রায়শই অস্বস্তিকর হতে পারে তবে কখনও কখনও এটি খুব কার্যকর। আপনাকে কলব্যাক দিয়ে ফিরিয়ে নেওয়া ডেটা নিজেই ডিল করতে হবে।

$.get()এটি কেবল একটি $.ajax()সংক্ষিপ্তরূপে তবে কিছু কনফিগারেশনকে দূরে রাখে, এটি আপনার থেকে যা লুকায় তার জন্য যুক্তিসঙ্গত ডিফল্ট মান নির্ধারণ করে। কলব্যাকে ডেটা ফেরত দেয়। এটি কেবল জিইটি-অনুরোধগুলিকে অনুমতি দেয় তাই $.post()অনুরূপ বিমূর্ততার জন্য ফাংশনটি সহ কেবল পোস্টের জন্য

.load()অনুরূপ $.get()তবে কার্যকারিতা যুক্ত করে যা আপনাকে সংজ্ঞায়িত করতে দেয় যে নথিতে যেখানে ফিরে আসা ডেটা beোকানো হবে। অতএব সত্যিকার অর্থে কেবল তখনই ব্যবহারযোগ্য যখন কলটি কেবলমাত্র এইচটিএমএলে ফলাফল দেয়। এটি অন্যান্য, গ্লোবাল, কলগুলির চেয়ে কিছুটা আলাদাভাবে বলা হয়, কারণ এটি কোনও নির্দিষ্ট jQuery- মোড়ানো DOM উপাদানটির সাথে আবদ্ধ একটি পদ্ধতি। অতএব, এক করতে হবে:$('#divWantingContent').load(...)

এটা লক্ষনীয় যে সব $.get(), $.post(), .load()সকল শুধু চাদরে হয় $.ajax()যেমন অভ্যন্তরীণভাবে বলা হচ্ছে।

JQuery এর আজাক্স-ডকুমেন্টেশনে আরও বিশদ: http://api.jquery.com/category/ajax/


3
@ উজাইর অলি না, এটি আক্ষরিক অর্থে আপনি যে ভেরিয়েবলগুলি এতে পাস করেন তা নিয়ে যান এবং jQuery.ajax () চালানোর জন্য তাদের ব্যবহার করেন
লিসবুরনেট

1
দুর্দান্ত,। লোড () কেবল সাদামাটা এইচটিএমএল এবং।
লুইজি লোপেজ

30

পদ্ধতিগুলি বিমূর্ততার বিভিন্ন স্তর সরবরাহ করে।

  • $.ajax()আপনাকে Ajax অনুরোধের উপর সম্পূর্ণ নিয়ন্ত্রণ দেয় gives অন্যান্য পদ্ধতিগুলি আপনার প্রয়োজনগুলি পূরণ না করে আপনার এটি ব্যবহার করা উচিত।

  • $.get()একটি Ajax GETঅনুরোধ কার্যকর করে। ফিরে আসা ডেটা (যা কোনও ডেটা হতে পারে) আপনার কলব্যাক হ্যান্ডলারের কাছে পাঠানো হবে।

  • $(selector).load()একটি অ্যাজাক্স GETঅনুরোধ কার্যকর করবে এবং নির্বাচিত প্রত্যাবর্তিত ডেটার সামগ্রী (যা কোনও পাঠ্য বা এইচটিএমএল হওয়া উচিত) সেট করবে।

আপনার কোন পদ্ধতিটি ব্যবহার করা উচিত তা নির্ভর করে। আপনি যদি সাধারণ জিনিস করতে চান তবে বিরক্ত করার দরকার নেই $.ajax()

উদাহরণস্বরূপ আপনি ব্যবহার করবেন না $.load(), যদি ফেরত ডেটা JSON হবে যা আরও প্রক্রিয়া করা প্রয়োজন। এখানে আপনি হয় $.ajax()বা ব্যবহার করতে হবে $.get()


9

http://api.jquery.com/jQuery.ajax/

jQuery.ajax()

বর্ণনা: একটি অ্যাসিনক্রোনাস এইচটিটিপি (আজাক্স) অনুরোধ সম্পাদন করুন।

সম্পূর্ণ মন্টি, আপনাকে যেকোন ধরণের অ্যাজাক্স অনুরোধ করতে দেয়।


http://api.jquery.com/jQuery.get/

jQuery.get()

বর্ণনা: একটি HTTP জিইটি অনুরোধ ব্যবহার করে সার্ভার থেকে ডেটা লোড করুন।

কেবল আপনাকে এইচটিটিপি জিইটি অনুরোধ করতে দেয়, একটু কম কনফিগারেশন প্রয়োজন।


http://api.jquery.com/load/

.load()

বিবরণ: সার্ভার থেকে ডেটা লোড করুন এবং প্রত্যাবর্তিত এইচটিএমএলকে ম্যাচের উপাদানগুলিতে রাখুন।

ডেটা পেতে এবং এটি একটি উপাদান মধ্যে ইনজেক্ট বিশেষীকরণ।


8

খুব বেসিক কিন্তু

  • $.load(): একটি ধারক ডিওএম এ html এর একটি অংশ লোড করুন।
  • $.get(): আপনি যদি জিইটি কল করতে চান এবং প্রতিক্রিয়াটি নিয়ে ব্যাপকভাবে খেলতে চান তবে এটি ব্যবহার করুন ।
  • $.post(): আপনি যদি কোনও পোষ্ট কল করতে চান এবং কিছু ধারক ডিওমের প্রতিক্রিয়াটি লোড করতে না চান তবে এটি ব্যবহার করুন।
  • $.ajax(): এক্সএইচআর ব্যর্থ হলে আপনার কিছু করার প্রয়োজন হয় বা ফ্লাইতে আপনাকে এজাক্স বিকল্পগুলি (যেমন ক্যাশে: ট্রুথ) নির্দিষ্ট করতে হবে তবে এটি ব্যবহার করুন।

5

গুরুত্বপূর্ণ দ্রষ্টব্য: jQuery.load () পদ্ধতিটি ডেটা প্যারামিটার সরবরাহ করা হলে কেবল জিইটি নয় , তবে পোস্টের অনুরোধগুলিও করতে পারে (দেখুন: http://api.jquery.com/load/ )

ডেটা প্রকার: সমতল ওজেক্ট বা স্ট্রিং একটি সরল অবজেক্ট বা স্ট্রিং যা অনুরোধের সাথে সার্ভারে প্রেরণ করা হয়।

অনুরোধ পদ্ধতি POST পদ্ধতিটি ব্যবহার করা হয় যদি ডেটা কোনও অবজেক্ট হিসাবে সরবরাহ করা হয়; অন্যথায়, জিইটি অনুমান করা হয়।

Example: pass arrays of data to the server (POST request)
$( "#objectID" ).load( "test.php", { "choices[]": [ "Jon", "Susan" ] } );

3

সবারই ঠিক আছে। ফাংশন .load, .getএবং .post, ফাংশনটি ব্যবহারের বিভিন্ন উপায় .ajax

ব্যক্তিগতভাবে, আমি .ajax কাঁচা ফাংশনটি খুব বিভ্রান্তিকর খুঁজে পাই এবং আমার প্রয়োজন হিসাবে বোঝা, পেতে, বা পোস্ট করতে পছন্দ করি।

পোষ্টের নিম্নলিখিত কাঠামো রয়েছে:

$.post(target, post_data, function(response) { });

GET এর নিম্নলিখিত রয়েছে:

$.get(target, post_data, function(response) { });

লোডের নিম্নলিখিতটি রয়েছে:

$(*selector*).load(target, post_data, function(response) { });

আপনি দেখতে পাচ্ছেন যে, তাদের মধ্যে সামান্য পার্থক্য রয়েছে, কারণ এটির পরিস্থিতি যা কোনটি ব্যবহার করবে তা নির্ধারণ করে। অভ্যন্তরীণভাবে কোনও ফাইলে তথ্য প্রেরণ করা দরকার? পোষ্ট ব্যবহার করুন (এটি বেশিরভাগ ক্ষেত্রে হবে)। তথ্যটি এমনভাবে প্রেরণ করা দরকার যাতে আপনি নির্দিষ্ট মুহুর্তের কোনও লিঙ্ক সরবরাহ করতে পারেন? .Get ব্যবহার করুন। উভয়ই কলব্যাকের অনুমতি দেয় যেখানে আপনি ফাইলগুলির প্রতিক্রিয়া পরিচালনা করতে পারবেন।

একটি গুরুত্বপূর্ণ দ্রষ্টব্য হ'ল। লোড দুটি পৃথক আচরণে কাজ করে। আপনি যদি কেবলমাত্র লক্ষ্য নথির ইউআরএল সরবরাহ করেন তবে এটি একটি লাভ হিসাবে কাজ করবে (এবং আমি বলি যে কাজটি কারণ আমি $_POSTডিফল্ট। লোড আচরণ ব্যবহার করার সময় ডাকা পিএইচপিতে পরীক্ষা করার পরীক্ষা করেছি এবং এটি সনাক্ত করে $_POST, $_GETএটি সম্ভবত আরও স্পষ্ট হবে বলুন এটি কোনও যুক্তি ছাড়াই। পোস্ট হিসাবে কাজ করে); তবে, http://api.jquery.com/load/ হিসাবেবলে, একবার আপনি ফাংশনটিতে একটি আর্গুমেন্টের অ্যারে সরবরাহ করার পরে এটি ফাইলটিতে তথ্য পোস্ট করবে। যাই হোক না কেন, লোড ফাংশনটি সরাসরি কোনও ডিওএম উপাদানগুলিতে তথ্য সন্নিবেশ করায় যা অনেক ক্ষেত্রে খুব সুস্পষ্ট এবং খুব সরাসরি; তবে আপনি প্রতিক্রিয়াটির সাথে আরও কিছু করতে চাইলে একটি কলব্যাক সরবরাহ করে। অতিরিক্তভাবে,। লোড আপনাকে কোনও ফাইল থেকে কোডের একটি নির্দিষ্ট ব্লক বের করার অনুমতি দেয়, আপনাকে একটি ক্যাটালগ সংরক্ষণের সম্ভাবনা দেয়, উদাহরণস্বরূপ, এইচটিএমএল ফাইলে এবং এর (আইটেম) টুকরোগুলি সরাসরি ডোম উপাদানগুলিতে পুনরুদ্ধার করতে।


3
$.get = $.ajax({type: 'GET'});

$.load() একটি সহায়ক ফাংশন যা কেবলমাত্র উপাদানগুলিতেই আহ্বান করা যায়।

$.ajax()আপনাকে সবচেয়ে নিয়ন্ত্রণ দেয়। আপনি যদি ডেটা পোস্ট করতে চান, আরও কলব্যাক পেয়েছিলেন ইত্যাদি নির্দিষ্ট করতে পারেন etc.


1

উভয়ই কিছু ডেটা প্রেরণ এবং সেই ডেটা ব্যবহার করে কিছু প্রতিক্রিয়া পেতে ব্যবহৃত হয়।

জিইটি : সার্ভারে সঞ্চিত তথ্য পান। (যেমন অনুসন্ধান, টুইট, ব্যক্তির তথ্য)। আপনি যদি তথ্য প্রেরণ করতে চান তবে অনুরোধটি ব্যবহার করে অনুরোধ process.php?name=subrotoপ্রেরণ করুন তাই এটি মূলত ইউআরএলের মাধ্যমে তথ্য প্রেরণ করে। Url 2036 এর বেশি চর পরিচালনা করতে পারে না। সুতরাং ব্লগ পোস্টের জন্য আপনি কি মনে রাখতে পারবেন এটি সম্ভব নয়?

পোস্ট : জিইটি হিসাবে একই জিনিস পোস্ট করুন। ব্যবহারকারী নিবন্ধকরণ, ব্যবহারকারী লগইন, বড় ডেটা প্রেরণ, ব্লগ পোস্ট। আপনার যদি সুরক্ষিত তথ্য প্রেরণের দরকার হয় তবে পোস্ট বা বড় ডেটা ব্যবহার করুন কারণ এটি ইউআরএল দিয়ে যায় না।

AJAX : $.get()এবং $.post()এর উপসর্গ রয়েছে এমন বৈশিষ্ট্য রয়েছে $.ajax()। এটির আরও কনফিগারেশন রয়েছে।

$.get ()পদ্ধতি, যা এক ধরণের শর্টহ্যান্ড $.ajax()। ব্যবহার করার সময় $.get (), কোনও বস্তুতে পাস করার পরিবর্তে, আপনি তর্কগুলি দিয়ে যান। সর্বনিম্ন, আপনার প্রথম দুটি আর্গুমেন্টের প্রয়োজন হবে, যা আপনি পুনরুদ্ধার করতে চান এমন ফাইলের URL (যেমন। Test.txt) এবং একটি সাফল্য কলব্যাক।


0

প্রত্যেকে বিষয়টি খুব ভাল করে ব্যাখ্যা করলেন। । লোড () পদ্ধতিটি সম্পর্কে আমি আরও একটি পয়েন্ট যুক্ত করতে চাই।

অনুযায়ী লোড ডকুমেন্ট যদি আপনি ডাটা URL- এ suffixed নির্বাচক যোগ তারপর, এটা লোডিং বিষয়বস্তুতে স্ক্রিপ্ট চালানো হবে না।

ওয়ার্কিং প্লঙ্কার

            $(document).ready(function(){
                $("#secondPage").load("mySecondHtmlPage.html #content");
            })

অন্যদিকে, ইউআরএলে নির্বাচক অপসারণের পরে, নতুন সামগ্রীতে স্ক্রিপ্টগুলি চলবে। এই উদাহরণ চেষ্টা করুন

সূচক html ফাইলে url এ # কনটেন্ট অপসারণ করার পরে

            $(document).ready(function(){
                $("#secondPage").load("mySecondHtmlPage.html");
            })

আলোচনায় অন্যান্য পদ্ধতির দ্বারা প্রদত্ত এ জাতীয় অন্তর্নির্মিত বৈশিষ্ট্য নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.