से पहले समाप्त हो गया है मेरे पास एक जावास्क्रिप्ट फ़ंक्शन है जो jQuery का उपयोग करके लगातार दो अजाक्स अनुरोध करता है। मैं यह सुनिश्चित करना चाहता हूं कि दूसरे फ़ंक्शन को कॉल करने से पहले पहला अनुरोध लोड हो गया हो। कोई तरीका है तो मुझसे यह हो सकता है?सुनिश्चित करें कि पहले AJAX फ़ंक्शन दूसरे एक
उत्तर
या तो विकल्पों में async: false
निर्दिष्ट करें, या पहले कॉल के complete
कॉलबैक में दूसरा AJAX कॉल करें।
क्या वह 'async: false' नहीं होगा? –
वास्तव में यह होगा। नकारात्मक तर्क को कम करें। –
'async: false' बहुत अच्छा काम करता है। जिस क्रम में मैं दो कार्यों को कॉल करता हूं वह भिन्न होता है, इसलिए कॉलबैक विधि को बहुत पसंद किया जाता है। – Brian
पहले फ़ंक्शन के लिए आपके कॉलबैक में, अपना दूसरा कॉल करें।
सर्वोत्तम परिणामों के लिए आपको शायद पहले के कॉलबैक में दूसरे फ़ंक्शन का आह्वान करना चाहिए।
उदाहरण के लिए:
$.post("http://www.somewebsite.com/page.php", function(data) {
// whatever
function2();
});
$.post("script1.php", {data:"val"}, function(response) {
$.post("script2.php", {data:response}, function(results) {
// this second call will be initialized when the first finishes
});
});
एक उदाहरण कार्यान्वयन:
function callback() {$('div#second_ajax_output').load('http://www.google.com');}
$('div#first_ajax_output').load('http://www.yahoo.com',callback);
संपादित करें: Misread प्रश्न; मेरी गलती। यदि आप कभी भी दो AJAX अनुरोधों को एक साथ निष्पादित करना चाहते हैं लेकिन दोनों समाप्त होने के बाद ही कॉलबैक चलाएं, तो यह है कि आप इसे कैसे करते हैं! jQuery का उपयोग करना सबसे आसान तरीका है इस तरह है
var completedCount = 0;
var callback = function()
{
completedCount++;
if (completedCount == 2)
{
// Do something.
}
};
$.post('url-1', {}, callback);
$.post('url-2', {}, callback);
:
इस प्रयास करें
$.ajax({
type: "POST",
url: "some.php",
success: function(msg){
$.ajax({
type: "POST",
url: "some2.php",
success: function(msg){
alert("End of second call");
}
});
}
});
आसान तरीका दूसरा अनुरोध सक्रिय किया जाता है जब पहली रिटर्न (पूरा कॉलबैक में)।
यदि आपको अधिक परिष्कृत दृष्टिकोण की आवश्यकता है तो AjaxQueue प्लग-इन पर एक नज़र डालें। आप इस तरह से अनुरोध कतार कर सकते हैं।
- 1. सुनिश्चित करें कि जावास्क्रिप्ट स्क्रिप्ट पहले चलाने के लिए है?
- 2. Unproven सुनिश्चित करें कि एक अंतरफलक
- 3. पुश कि एक दूसरे
- 4. निर्धारित करें कि $ .ajax त्रुटि एक टाइमआउट
- 5. पायथन लॉगिंग सुनिश्चित करें कि एक हैंडलर केवल एक बार
- 6. एक फ़ंक्शन से दूसरे फ़ंक्शन को
- 7. पहले एक बटन पर एक बटन दूसरे
- 8. सुनिश्चित करें कि एनएचबीर्नेट सत्र फ़ैक्टरी केवल
- 9. एएसपीनेट सुनिश्चित करें कि जावास्क्रिप्ट को केवल
- 10. मुख्य से पहले एक फ़ंक्शन परिभाषित करें?
- 11. सुनिश्चित करें कि fgetcsv() पूरी लाइन
- 12. सुनिश्चित करें कि ऑब्जेक्ट्स लागू करने योग्य
- 13. सुनिश्चित करें कि किसी भी सामग्री को एक निश्चित div
- 14. वेरिएबल AJAX फ़ंक्शन
- 15. दो वर्गों है कि एक दूसरे को
- 16. प्रारंभ करें या सुनिश्चित करें कि जब कोई एप्लिकेशन/सर्वर
- 17. सुनिश्चित करें कि सभी डिफ़ॉल्ट पैकेज चलने से पहले लोड किए गए हैं। प्रोप्रोफाइल
- 18. jquery selector - पहले और दूसरे
- 19. बल/सुनिश्चित करें कि पाइथन वर्ग विशेष प्रकार
- 20. $ (एजेएम) .ajaxSuccess() $ .ajax ({success सफलता: ...}) से पहले कैसे लॉन्च करें ;??
- 21. jQuery AJAX-- कॉलिंग फ़ंक्शन
- 22. jquery AJAX फ़ंक्शन
- 23. JQUERY AJAX फ़ंक्शन
- 24. सुनिश्चित करें कि jQuery ईवेंट हैंडलर निष्पादन आदेश
- 25. परीक्षण करें कि फ़ंक्शन मोचा
- 26. मैं कैसे सुनिश्चित कर सकता हूं कि नेस्टेड लेन-देन एक-दूसरे से स्वतंत्र रूप से किए जाते हैं?
- 27. अपने सेट समय से पहले एक सेटटाइमआउट फ़ंक्शन समाप्त करें
- 28. यह सुनिश्चित करने के लिए कि
- 29. जांचें कि उपयोगकर्ता नाम AJAX
- 30. क्या मुझे यह सुनिश्चित करना चाहिए कि फ़ंक्शन में उनका उपयोग करने से पहले तर्क शून्य नहीं हैं?
क्या यह दूसरा * अजाक्स * कॉल है जिसे पहले तक लौटाए जाने तक प्रतीक्षा करने की आवश्यकता है, या दूसरा * कॉलबैक * जिसे प्रतीक्षा करने की आवश्यकता है? (यानी आपको दूसरे AJAX अनुरोध को फायर करने से पहले प्रतीक्षा करने की आवश्यकता है, या दोनों को एक के बाद एक से निकाल दिया जा सकता है, लेकिन आप यह सुनिश्चित करना चाहते हैं कि यदि दूसरा पहले लौटाता है, तो उसका कॉलबैक पहले एक रिटर्न तक अवरुद्ध हो जाता है) – Graza
दूसरा फ़ंक्शन तब तक नहीं निकाला जाना चाहिए जब तक कि पहले पूरा नहीं हो जाता। पहला कार्य एक फॉर्म तत्व बनाता है और दूसरा उस फॉर्म मान को लेता है और इसके आधार पर कुछ गणना करता है। – Brian