.Success () और .complete () के बीच अंतर?


103

JQuery 1.5 के रूप में, सभी jQuery के AJAX के तरीकों एक वापसी jqXHRवस्तु प्रदान करता है कि .error(), .success(), और .complete()तरीकों।

बीच क्या अंतर है .success()और .complete()?


2
@nix क्या आपके पास एक लिंक है जो अधिक विवरण में पदावनत सामान का वर्णन करता है?
नीयोनी

Apne.jquery.com/jQuery.ajax/ पर @neoneye Ctrl + F "पदावनति नोटिस"
ThatGuy

जवाबों:


223

.success()केवल तभी कहा जाता है जब आपका वेबसर्वर 200 OKHTTP हेडर के साथ प्रतिक्रिया करता है - मूल रूप से जब सब कुछ ठीक है।

हालांकि, .complete()होगा हमेशा कोई बात नहीं कहा जाता हो, तो ajax कॉल सफल या नहीं था - शायद यह त्रुटियों outputted और त्रुटि दी - .complete () अभी भी बुलाया जाएगा।

यह ध्यान देने योग्य है कि .complete()कहा जाता है के बाद .success() बुलाया जाएगा - अगर यह आपके लिए मायने रखता है।


11

success()जब सर्वर 200 स्टेटस कोड लौटाता है, complete()तो रिक्वेस्ट पूरी होने पर हमेशा कॉल किया जाता है, चाहे परिणाम कुछ भी हो।


1

success()जब सर्वर 200 स्टेटस कोड लौटाता है , complete()उसके बाद कहा जाता है success()। और मुझे कुछ अंतर दिखाई देता है:

पर success()आप एक्सएमएल प्रतिक्रिया स्ट्रिंग है कि आप का उपयोग कर नहीं प्राप्त कर सकते हैं $.ajax()और सेट dataType:xml लेकिन में complete()आप READED XML दस्तावेज़ की स्ट्रिंग प्रारूप प्राप्त कर सकते हैं का उपयोग कर

$.ajax({
url:'??',
dataType:'xml',
oncomplete: function(data,status){
console.log(data.responseText);
}
})

0

success()कहा जाता है जब सर्वर रिटर्न success status code, जैसे: 200, 201आदि

complete()हमेशा अनुरोध पूरा होने पर कहा जाता है। (कोई बात नहीं, यह सर्वर से सफलता / त्रुटि प्रतिक्रिया है।)


इसलिए,

  • जब successसर्वर से प्रतिक्रिया होती है: complete()और success()कहा जाता है।
  • जब errorसर्वर से प्रतिक्रिया होती है: complete()और error()कहा जाता है।

आप किस उद्देश्य के लिए उपयोग कर सकते हैं complete(): मान लीजिए कि beforeSend()आप एक में दिखाते हैं loader image, और complete(), आप इसे छिपा सकते हैं loader image

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.