JQuery 1.5 के रूप में, सभी jQuery के AJAX के तरीकों एक वापसी jqXHRवस्तु प्रदान करता है कि .error(), .success(), और .complete()तरीकों।
बीच क्या अंतर है .success()और .complete()?
JQuery 1.5 के रूप में, सभी jQuery के AJAX के तरीकों एक वापसी jqXHRवस्तु प्रदान करता है कि .error(), .success(), और .complete()तरीकों।
बीच क्या अंतर है .success()और .complete()?
जवाबों:
.success()केवल तभी कहा जाता है जब आपका वेबसर्वर 200 OKHTTP हेडर के साथ प्रतिक्रिया करता है - मूल रूप से जब सब कुछ ठीक है।
हालांकि, .complete()होगा हमेशा कोई बात नहीं कहा जाता हो, तो ajax कॉल सफल या नहीं था - शायद यह त्रुटियों outputted और त्रुटि दी - .complete () अभी भी बुलाया जाएगा।
यह ध्यान देने योग्य है कि .complete()कहा जाता है के बाद .success() बुलाया जाएगा - अगर यह आपके लिए मायने रखता है।
success()जब सर्वर 200 स्टेटस कोड लौटाता है , complete()उसके बाद कहा जाता है success()। और मुझे कुछ अंतर दिखाई देता है:
पर success()आप एक्सएमएल प्रतिक्रिया स्ट्रिंग है कि आप का उपयोग कर नहीं प्राप्त कर सकते हैं $.ajax()और सेट dataType:xml
लेकिन में complete()आप READED 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।