Backbonejs:模型获取意味着模型没有“刷新”

时间:2013-05-30 13:50:35

标签: javascript backbone.js

我正在使用Backbonejs(1.0.0)开发一个项目,我正在尝试获取模型。好吧,如果我错了,请纠正我,但获取模型意味着从服务器获取数据并更新模型属性。那么,我做了什么:

模特:

var Lead = Backbone.Model.extend({
    idAttribute     : "project_id",
    defaults: {
        ws_qs       : 'toto'
    }
});

行动:

/* this.model comes from a collection, which has been fetched earlier. 
   So this.model contains correct data. I just want to refresh from the server. */
var tmpModel = this.model;
this.model.set({ws_qs : "youpi"}, {silent:true});

this.model.fetch({
  success : function (model) {
    // do something
  }
});

Fetch使用正确的URL生成XHR调用。

一些想法:在Chrome debuger中,XHR调用响应为空,但在浏览器中打开xhr调用url显示正确的JSON。

花了6个小时在那个bug上...有人可以帮助我吗? 感谢。

2 个答案:

答案 0 :(得分:1)

如果Chrome调试器显示对XHR的空响应,则表明服务器行为不当。你有权访问服务器端代码吗?服务器代码可能正在查看请求标头并在X-Requested-With标头为XMLHttpRequest时错误地响应?

尝试使用此命令行curl -v -H "X-Requested-With: XMLHttpRequest" <url>并查看响应标头和正文的外观。

答案 1 :(得分:0)

我认为服务器端可能有问题。检查响应设置,如果你想得到json响应,content-type应该是“application / json”。在你的案例中它是“text / html”或其他东西。