मैं पालन Backbone.js कोड हैबैकबोन संग्रह में JSON नहीं लाई जा सकती
var List = Backbone.Collection.extend({
model: Item,
url: '/api/items',
});
और उसके बाद मेरे विचार में मैं एपीआई से JSON लाने और मॉडलों को भरने के लिए निम्न कार्य करने की कोशिश कर रहा हूँ
this.collection = new List();
var that = this;
this.collection.fetch({
success: function() {
that.render();
console.log('Fetch successful!');
},
error: function() {
console.log('Failed to fetch!');
}
});
हालांकि लाने काम नहीं कर रहा है और इसके ट्रिगर "प्राप्त करने में विफल!" संदेश। क्या कोई भी कुछ देख सकता है जो मैं गलत कर रहा हूं? यदि मैं अपने ब्राउज़र में api/items
पर जाता हूं तो मुझे JSON फ़ाइल डाउनलोड करने के लिए कहा जाता है, इसलिए यह निश्चित रूप से वहां होता है और जब मैं इसे अपनी नई लाइन को सीमित करता हूं। नीचे है कि वापस JSON भेजता
res.writeHead(200, {
'Content-Type': 'application/x-json-stream'
});
setTimeout(function() {
var i;
for (i=0; i<limit; i+=1) {
res.write(JSON.stringify(createRandomItem(i+skip, sort)) + '\n');
}
res.end();
}, 100 + Math.floor(Math.random() * 3000));
इसके अलावा जब मैं अनुरोध है कि एपीआई को भेजा गया था जांच करने के लिए डेवलपर टूल का उपयोग प्रतिक्रिया मैं वापस पाने के बस यादृच्छिक वर्ण हो रहा है और मैं एपीआई कोड का एक टुकड़ा है त्रुटि "सिंटैक्स त्रुटि: JSON.parse: अप्रत्याशित चरित्र"
eyJpZCI6IjAtd202MzNjYTF0Y3ZqOWs5Iiwic2l6ZSI6MTYsInByaWNlIjo5MzgsImZhY2
बस 'res.send (200, {your array/items/etc})' – benhowdle89
आज़माएं, मुझे यकीन नहीं है लेकिन क्या ऐसा हो सकता है कि जेएसओएन सामग्री प्रकार स्ट्रीमिंग आपके ब्राउज़र जेएस कार्यान्वयन द्वारा समर्थित नहीं है? AFAIK, बैकबोन अनुरोध संग्रह से निपटने के लिए सरल 'XMLHttpRequest' ऑब्जेक्ट का उपयोग करता है। यदि आप सरल 'एप्लिकेशन/जेसन' प्रकार का उपयोग करते हैं तो क्या होगा? – VisioN
मैंने सामग्री प्रकार को 'एप्लिकेशन/जेसन' में बदलने का प्रयास किया है, लेकिन मुझे एक ही परिणाम मिला।इसके अलावा मुझे यह इंगित करना चाहिए कि यदि संभव हो तो मैं सर्वर साइड कोड को बदलना नहीं चाहता हूं। – Bender