5

我是骨干新手,但我已经编写了一个基本模型,并且在尝试为我的模型获取数据时。我知道服务器正在返回数据,但 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','name':'joe','age':'25','email':'joe@example.com'}

也许我应该提一下,我正在将其作为 PhoneGap android 应用程序的一部分。我认为这对我遇到的问题并不重要,但它确实限制了我的调试选项。

4

1 回答 1

13

parsererror当 jQuery 尝试解析来自服务器的 JSON 响应时,您可能会遇到这种情况。要检查您是否收到 a parsererror,请添加complete回调并检查textStatus参数。例如

user.fetch({
  complete: function(xhr, textStatus) {
    console.log(textStatus);
  }
});
于 2013-03-12T20:47:21.613 回答