/ / jQuery - बेस्ट प्रैक्टिस जब गेटजोन से कॉन्टेंट फ़ंक्शन के लिए कॉन्ट्रैक्ट लौटाते हैं - jquery, getjson, jquery-callback

jQuery - बेस्ट प्रैक्टिस जब गेटजोन से कॉलर फ़ंक्शन के लिए सामग्री वापस कर रहे हैं - jquery, getjson, jquery-callback

एक के परिणाम से सामग्री वापस करते समय सबसे अच्छा अभ्यास क्या है $.getJson एक कॉलर समारोह के लिए अनुरोध? मेरे पास एक फंक्शन है $.fn.getSomeData जिसमें एक है $.getJson इसके अंदर कॉल करें (यह फ़ंक्शन एक जेएस फाइल में है जो जेएसपी को मेरे वेबसर्विस को आयात करना चाहिए)।

फिर कॉलिंग जेएसपी के अंदर एक फ़ंक्शन मेरा कॉल करेगा $.fn.getSomeData समारोह।

क्योंकि मेरा $.getjson अनुरोध अतुल्यकालिक है मुझे इंतजार करना होगाकॉलबैक फ़ंक्शन निष्पादित करने से पहले मैं JSON प्रसंस्करण के बारे में सोच सकता हूं। कॉलिंग जेएसपी में फ़ंक्शन के परिणामस्वरूप डेटा को वापस करने के लिए सबसे अच्छा तरीका क्या है।

अन्य विकल्प जो मैंने पढ़े हैं उनमें एक Div को पास करना शामिल है $.fn.getSomeData विधि और फिर $ .getJson कॉलबैक फ़ंक्शन में मैं जोंस का प्रसंस्करण करूंगा और डिव को अपील करूंगा क्योंकि मैं चाहता हूं कि यह दिखाई दे।

एक दूसरा विकल्प एक समारोह में पारित करने के लिए था $.fn.getSomeData। यह फ़ंक्शन तब में बुलाया जा सकता है $.getjson कॉलबैक फ़ंक्शन।

क्या कोई सर्वोत्तम अभ्यास की सिफारिश कर सकता है? मैं अपने में दिव्यांग को पारित करने के विकल्प का उपयोग नहीं करना पसंद करूंगा $.fn.getSomeData कार्य के रूप में मैं अपने बाहरी जेएस फ़ाइल में युग्मन को कम करना चाहता हूं।

इसके अलावा JSP से आई कॉल करने के लिए कॉलबैक फ़ंक्शन को जोड़ने का एक तरीका है $.fn.getSomeData कि किसी भी तरह एक बार ट्रिगर होगा $.getjson कॉलबैक निष्पादित किया गया है?

आपके सुझावों को सुनने के लिए उत्सुक।

उत्तर:

उत्तर № 1 के लिए 1

दूसरा संस्करण वह है जो आप चाहते हैं।

उस फ़ंक्शन में पास करें जिसे आप getJson अनुरोध पूरा होने पर निष्पादित करना चाहते हैं।

$.fn.getSomeData = function(callback) {
$.getJSON("url", data, callback);
}

$("div").getSomeData(function() {
// do something
});

पहले डेटा को संसाधित करने के लिए और फिर फ़ंक्शन को कॉल करें ऐसा करें:

$.fn.getSomeData = function(callback) {
$.getJSON("url", data, function(result) {
// do something with data
callback(result);
});
}