JQuery এর 1.5 পর্যন্ত সমস্ত jQuery যাক AJAX পদ্ধতি একটি ফিরতি jqXHRবস্তুর প্রদান করে যে .error(), .success()আর .complete()পদ্ধতি।
মধ্যে পার্থক্য কি .success()এবং .complete()?
JQuery এর 1.5 পর্যন্ত সমস্ত jQuery যাক AJAX পদ্ধতি একটি ফিরতি jqXHRবস্তুর প্রদান করে যে .error(), .success()আর .complete()পদ্ধতি।
মধ্যে পার্থক্য কি .success()এবং .complete()?
উত্তর:
.success()কেবল তখনই ডাকা হয় যখন আপনার ওয়েবসার্ভার 200 OKএইচটিটিপি শিরোনামের সাথে প্রতিক্রিয়া জানায় - মূলত যখন সবকিছু ঠিক থাকে।
যাইহোক, এজাক্স কলটি সফল হয়েছিল কি না .complete()তা সবসময়ই ডেকে আনা হবে - সম্ভবত এটি ত্রুটিগুলি আউটপুট করে একটি ত্রুটি ফিরে পেয়েছিল - সম্পূর্ণ () এখনও কল হবে।
এটি উল্লেখযোগ্য যে এটি কল করার পরে কল.complete() হবে - যদি এটি আপনার পক্ষে গুরুত্বপূর্ণ। .success()
success()সার্ভার রিটার্ন যখন বলা 200 স্থিতি কোড, complete()পরে বলা হয় success()। এবং আমি কিছু পার্থক্য দেখতে পাচ্ছি:
উপর success()আপনি XML প্রতিক্রিয়া স্ট্রিং আপনার ব্যবহার করা পেতে না পেতে পারেন $.ajax()এবং সেট dataType:xml
কিন্তু এ complete()আপনি পরেছি XML ডকুমেন্টের স্ট্রিং বিন্যাস পেতে পারেন ব্যবহার
$.ajax({
url:'??',
dataType:'xml',
oncomplete: function(data,status){
console.log(data.responseText);
}
})
success()বলা হয় যখন সার্ভার রিটার্ন success status code, মত: 200, 201ইত্যাদি
complete()অনুরোধটি সম্পূর্ণ হলে সর্বদা ডাকা হয়। (কোনও বিষয় নয়, এটি সার্ভারের সাফল্য / ত্রুটির প্রতিক্রিয়া))
successসার্ভার থেকে প্রতিক্রিয়া আসে: complete()এবং success()তাকে ডাকা হয়।errorসার্ভার থেকে প্রতিক্রিয়া আসে: complete()এবং error()তাকে ডাকা হয়।আপনি কী উদ্দেশ্যে ব্যবহার করতে পারেন complete(): ধরুন beforeSend()আপনি একটি দেখান loader imageএবং complete()এটিতে আপনি এটি লুকিয়ে রাখতে পারেন loader image।