如何找到骨干提取生成的错误

时间:2013-03-12 14:09:29

标签: javascript rest backbone.js

我是骨干的新手,但我写了一个基本模型,并试图为我的模型获取数据。我知道服务器正在返回数据但是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应用程序的一部分。我不认为这对我遇到的问题很重要,但它确实限制了我的调试选项。

1 个答案:

答案 0 :(得分:13)

当jQuery尝试解析来自服务器的JSON响应时,您可能会获得parsererror。要检查您是否收到parsererror,请添加complete回调并检查textStatus参数。 e.g。

user.fetch({
  complete: function(xhr, textStatus) {
    console.log(textStatus);
  }
});