2013-07-26 16 views
8

निम्न रीढ़ की हड्डी संग्रह.फैच कोड आग, कुछ कारणों से त्रुटियां और फिर त्रुटि हैंडलर (अपेक्षित के रूप में) पर कूदता है, लेकिन मुझे वास्तव में पता नहीं है कि त्रुटिरोधक पैराम क्या हैं। जब त्रुटि आग लगती है तो मॉडल, एक्सएचआर और विकल्प पैराम अपरिभाषित होते हैं। मैं क्या गलत कर रहा हूं?backbonejs collection.fetch त्रुटि हैंडलर

var onErrorHandler = function(model, xhr, options) { 
     alert(options); 
    }; 

    that.collection = new MembersCollection([]); 
    that.collection.fetch({ success : onDataHandler, error: onErrorHandler, dataType: "jsonp" }); 

@muistooshort: मैं पूरी तरह से जेएस तर्कों के बारे में भूल गया, उस टिप के लिए धन्यवाद।

यहाँ मैं क्या मिला है ...

Arguments[0] = looks like its just the letter "d" 
Arguments[1] = is an object. Has readyState, responseText, status, statusText 
Arguments[2] = is an object. Exactly the same as [1] 

स्थिति = 200 और पाठ है "ठीक है"। प्रतिक्रिया टेक्स्ट सटीक JSON डेटा है जो मुझे PHP सर्वर मॉडल से प्राप्त होने की उम्मीद है।

तो मुझे लगता है कि अब सवाल यह है कि सफलता संग्रह भेजने वाला कौन सा संग्रह.फेटच विधि त्रुटि हैंडलर को परिणाम देता है? मैं उन कॉलरों के अनुक्रमों पर विश्वास नहीं करता हूं जो कॉलबैक मामले में हैं। क्या यह?

+2

क्या आप वाकई सभी 'अपरिभाषित' हैं? आप वास्तव में 'console.log (तर्क)' देख सकते हैं कि वास्तव में क्या पारित किया जा रहा है। –

+0

आप किसी jsonp अनुरोध के लिए आवश्यक कुछ AJAX विकल्पों को याद कर रहे हैं। http://stackoverflow.com/questions/7202603/jquery-ajax-jsonp –

+0

@muistooshort: मैं पूरी तरह से जेएस तर्कों के बारे में भूल गया, उस टिप के लिए धन्यवाद। यहां मुझे जो मिला है वह है ... – Locohost

उत्तर

15

ठीक है मुझे फ़ेच कॉलबैक और सफलता/त्रुटि हैंडलर के लिए पैराम हस्ताक्षर मिला। अब जब वे सही ढंग से सेट हैं, तो fetch अपेक्षित के रूप में काम कर रहा है। यह कामकाजी कोड है ...

var onDataHandler = function(collection, response, options) { 
     console.log('membersview fetch onedatahandler'); 
     that.render(); 
    }; 

    var onErrorHandler = function(collection, response, options) { 
     console.log('membersview fetch onerrorhandler'); 
     alert(response.responseText); 
    }; 

    that.collection = new MembersCollection([]); 
    that.collection.fetch({ success : onDataHandler, error: onErrorHandler }); 

आपके उत्तरों के लिए धन्यवाद दोस्तों। मुझे आपकी सलाह की बहुत सराहना/सराहना है :-)

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