2013-06-28 3 views
0

У меня есть следующие:Магистральная модель URL responseText

DiaryEntries.Collection = Backbone.Collection.extend({ 
    url: '/rest/diary/' 
}); 

Так что я начать коллекцию так:

var collection = new DiaryEntries.Collection() 

И затем collection.fetch() возвращает это:

Object {readyState: 1, getResponseHeader: function, getAllResponseHeaders: function, setRequestHeader: function, overrideMimeType: function…} 
abort: function (statusText) { 
always: function() { 
complete: function() { 
done: function() { 
error: function() { 
fail: function() { 
getAllResponseHeaders: function() { 
getResponseHeader: function (key) { 
overrideMimeType: function (type) { 
pipe: function (/* fnDone, fnFail, fnProgress */) { 
progress: function() { 
promise: function (obj) { 
readyState: 4 
responseJSON: Array[1] 
responseText: "[{"DEID":"1","DEOwnerID":"1","DEClientID":null,"DEDateStart":"2013-06-28 00:00:00","DEDateEnd":"2013-06-29 00:00:00","DEEventLocationID":null,"DEJobID":null,"DEName":"Ricky's test event","DELocation":"Kettering","DEFurtherDetails":"None","DEVisibility":"0","DENotes":"None","DEType":"1"}]" 
setRequestHeader: function (name, value) { 
state: function() { 
status: 200 
statusCode: function (map) { 
statusText: "OK" 
success: function() { 
then: function (/* fnDone, fnFail, fnProgress */) { 
__proto__: Object 

Почему это не просто получить ответ? У меня есть мим тип application/json

ответ

2

Звонок на сервер - это вызовы AJAX (асинхронный). То, что возвращает fetch, является объектом XHR, а не ответом (поскольку сервер еще не ответил). Чтобы сделать что-то, когда клиент получил данные, используйте обратный вызов или прослушиватель (или что-то подобное).

Например, вы можете объявить метод с parse увидеть réponse (это не фактическая цель метода, но все):

DiaryEntries.Collection = Backbone.Collection.extend({ 
    url: '/rest/diary/', 
    parse: function(response) {console.log(response); return response;} 
}); 
+0

Ok приветствий. У меня есть функция синтаксического анализа в модели, и консольная регистрация работает хорошо. Поэтому я использую: 'parse: function (response) { \t \t self.entries = response; \t} 'но когда я называю' diary.entries', результат выглядит следующим образом: '_byId: Object длина: 0 модели: Array [0]' – rickyduck

+0

('self' был объявлен как' this') – rickyduck

+0

HTTP : //jsfiddle.net/7eehz/1/ – rickyduck

Смежные вопросы