2010-10-19 16 views
5

जो मैं करने की कोशिश कर रहा हूं वह है $.ajax({success}); विधि में जाने से पहले स्वचालित रूप से एक फ़ंक्शन लॉन्च करना। मैं इस है:

$("body").ajaxSuccess(
    function(event, XMLHttpRequest, ajaxOptions) { 
     alert("ajaxSuccess"); 
    } 
); 

और:

$.ajax({ 
    url: ".", 
    success: function() { 
     alert("success"); 
    } 
); 

मेरे समस्या यह है कि मैं पहली बार "सफलता" और फिर "ajaxSuccess" देख या विपरीत होता है। क्या यह संभव है? कोई अन्य समाधान?

समस्या $ .ajaxError() के साथ एक ही है ...

धन्यवाद

उत्तर

0

आप उपयोग कर सकते हैं following:

dataFilter(data, type) 

अनुरोध रोकना जब वह पहली बार से वापस आता है सर्वर। यह बिल्कुल ठीक नहीं है जिसके लिए आप इसका उपयोग करना चाहते थे, लेकिन यह एक सार्वभौमिक पूर्व-सफलता दिनचर्या है।

प्री-त्रुटि? शायद एक वैश्विक त्रुटि हैंडलर आपके लिए काम करेगा?

var obj = { 
    someHandler: function(data, xmlObj, status) {}, 
    someHandler2: function(data, xmlObj, status) {}, 
    someErrorHandler: function(xmlObj, status, error) {}, 
    someErrorHandler2: function(xmlObj, status, error) {} 
} 

jQuery.ajax({ 
    success:function(data, xmlObj, status) { 
     // decide based on data what the run 2nd 
     if (data.success) { 
     obj.someHandler(data, xmlObj, status); 
     } 
     else { 
     obj.someHandler2(data, xmlObj, status); 
     } 
    }, 
    error: function(xmlObj, status, error) { 
     // decide based on data what to run 2nd 
     //same as above. 
    } 
}); 

मैं अपनी परियोजनाओं में से एक में ऐसा कुछ करता हूं। मेरे पास एक वैश्विक त्रुटि ऑब्जेक्ट है, जहां मैं सर्वर से वापस आने वाली त्रुटि के TYPE के आधार पर एक त्रुटि हैंडलर निष्पादित करता हूं। मुझे यह AJAX

+0

हैलो, समस्या यह है कि डेटा में xhr.status को अलग करने का कोई तरीका नहीं है और एक या किसी अन्य कार्य को लॉन्च करने का कोई तरीका नहीं है, मुझे यह एक आसान और तेज़ तरीका है। । मेरे मामले में मैं प्रत्येक मामले में दो अलग-अलग समारोह लॉन्च करूंगा। –

+0

यदि आप दूसरे फ़ंक्शन जेनेरिक की कॉलिंग करते हैं, तो आप दोनों मामलों के लिए वैश्विक सफलता/त्रुटि फ़ंक्शन का उपयोग कर सकते हैं और अंत में विशेष फ़ंक्शन को कॉल कर सकते हैं। हो सकता है कि किसी ऑब्जेक्ट का कोई प्रकार जो निर्णय लेता है कि कौन सा माध्यमिक फ़ंक्शन कॉल करना है? –

+0

क्या आपके पास कोड का कुछ टुकड़ा है, मुझे बहुत अच्छी तरह से समझने की ज़रूरत नहीं है ... :( –

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