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

Backbonejs: model fetch means model not "refreshed"

本文关键字:模型 刷新 意味着 获取 Backbonejs      更新时间:2023-09-26

我正在与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调试器中,XHR调用响应是空的,但在浏览器中打开XHR调用url显示正确的JSON。

花了6个小时在那个虫子上…有人能帮我吗?谢谢。

如果Chrome调试器显示对XHR的空响应,这是一个强烈的迹象,表明服务器行为不当。你能访问服务器端代码吗?也许服务器代码正在查看请求标头并在X-Requested-With标头为XMLHttpRequest时响应不正确?

试试这个命令行curl -v -H "X-Requested-With: XMLHttpRequest" <url>,看看响应头和正文是什么样子的

我想可能是服务器端出了问题。检查响应设置,如果你想要得到json响应,content-type应该是"application/json"。它是"text/html"或者别的什么