2009-08-07 12 views
15

jQuery के साथ AJAX कॉल करते समय लोड (यूआरएल, डेटा, कॉलबैक) विधि का उपयोग jQuery.get (url, डेटा, कॉलबैक, प्रकार) के विरुद्ध किया जाना चाहिए?AJAX jQuery.load बनाम jQuery.get

+1

अधिक के लिए: http://stackoverflow.com/questions/3870086/difference-between-ajax-and-get-and-load – cregox

उत्तर

20

उन सभी कार्यों में से पहला बिल्कुल अलग है। 'लोड' फ़ंक्शन चयनकर्ताओं के साथ काम करता है और चयनित समूह के अंदर AJAX कॉल का परिणाम लोड करता है और कॉलबैक कॉल की "अपूर्ण" घटना को संभालने के लिए होता है; जबकि $ .get फ़ंक्शन अधिक सामान्य है और कॉलबैक AJAX कॉल की सफलता प्रतिक्रिया को संभालता है जहां आप अपने इच्छित व्यवहार को परिभाषित करने के लिए स्वतंत्र हैं। और आप jQuery ढांचे के दस्तावेज़ीकरण और विनिर्देश को देखकर बस यह सारी जानकारी पा सकते हैं।

Here आप एक अच्छा प्रलेखन पा सकते हैं।

8

लोड सीधे डेटा को डीओएम में इंजेक्ट करता है। यदि आपको इस व्यवहार की आवश्यकता नहीं है, तो उपयोग करें।

-1

केवल jQuery कोड को देखना होगा, क्योंकि यह समीक्षा के लिए उपलब्ध है। वैसे भी सभी कॉल एक ही विधि तक पहुँचने लेकिन जरूरत

15

@ आर्टेम के जवाब तथ्य यह है कि loadget की तुलना में एक अधिक सामान्य कार्य है कमी रह गई है पर निर्भर करता है अलग अलग तरीकों से जवाब चाहिए। jQuery API docs के अनुसार, डेटा के आधार पर लोड get या post का उपयोग करता है। इसे यहाँ का हवाला देते हुए:

अनुरोध विधि

डेटा एक वस्तु के रूप प्रदान की जाती है, तो POST पद्धति प्रयोग किया जाता है; अन्यथा, जीईटी माना जाता है।

तो सर्वर & से आंशिक HTML सामग्री हो रही डोम में डालने के उद्देश्य के लिए, loadget विधि की तुलना में एक बेहतर तरीका, के रूप में डेवलपर विशाल डेटा & विभिन्न मध्यवर्ती निपटने के बारे में चिंता करने की जरूरत नहीं है सामग्री डालने से पहले & लाने से पहले लोड फ़ंक्शन लोड करता है।

उदाहरण के लिए, यदि आप एक पेज का आंशिक सामग्री लोड करने की आवश्यकता है, तो आपको निम्न अभिव्यक्ति इस्तेमाल कर सकते हैं: $('#result').load('ajax/test.html #container');

यह ajax/test.html की सामग्री प्राप्त करता है, लेकिन फिर jQuery लौटे पार्स container की आईडी के साथ तत्व खोजने के लिए दस्तावेज़। इस तत्व, इसकी सामग्री के साथ, result की आईडी के साथ तत्व में डाला गया है, और शेष पुनर्प्राप्त दस्तावेज़ को त्याग दिया गया है। ध्यान में रखने की

एक बात है कि, जब तुम सिर्फ डाटा पैरामीटर & को कोई चीज उपलब्ध कराने के बजाय अनुरोध मानकों का एक धारावाहिक रूप पाने के लिए $.param विधि का उपयोग एक GET अनुरोध से बचने की जरूरत है।

+0

इसके बजाय, मैं संरचना और डेटा को अलग रखने के लिए डेटा पैरामीटर का उपयोग करने का सुझाव दूंगा। सरल प्रश्नों के लिए स्ट्रिंग कॉन्सटेनेशन ('id = '+ id') का उपयोग करें और अधिक जटिल सामग्री के लिए ऑब्जेक्ट और पैरा विधि (' $ .param (ऑब्जेक्ट)' या '$ .param ({id: id, foo: bar }) ' – Deebster

+0

@ डिबस्टर मुझे सरल मामलों में माना जाता है। मैं समझता हूं कि जटिल परिदृश्यों के लिए $ .param बेहतर है।मैंने जवाब संपादित कर लिया है। धन्यवाद। – Sujay

संबंधित मुद्दे