我是骨干的新手,但我写了一个基本模型,并试图为我的模型获取数据。我知道服务器正在返回数据但是fetch正在调用错误回调。
这很好,但我不知道如何找到正在生成的错误。
以下是相关代码:
mUser = Backbone.Model.extend({
urlRoot: CURRENT_URL+'user',
defaults: {
name: '',
age: 22,
email: ''
},
initialize: function(){
}
});
user = new mUser({'id':1});
var x = user.fetch({
error: function(model, xhr, options){
alert('Error on fetch')
console.log(xhr.responseText);
},
success: function(model, response, options) {
alert(user.toJSON());
}
})
console.log('x email',x.email)
正如我所提到的,responseText确实拥有我期望从服务器看到的数据,即:
{ 'ID': '1', '名称': '乔', '年龄': '25', '电子邮件': 'joe@example.com'}
也许我应该提一下,我这样做,作为PhoneGap Android应用程序的一部分。我不认为这对我遇到的问题很重要,但它确实限制了我的调试选项。
答案 0 :(得分:13)
当jQuery尝试解析来自服务器的JSON响应时,您可能会获得parsererror
。要检查您是否收到parsererror
,请添加complete
回调并检查textStatus
参数。 e.g。
user.fetch({
complete: function(xhr, textStatus) {
console.log(textStatus);
}
});