0

我正在使用 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 个小时......有人可以帮助我吗?谢谢。

4

2 回答 2

1

如果 Chrome 调试器显示对 XHR 的响应为空,则强烈表明服务器行为异常。您可以访问服务器端代码吗?也许服务器代码正在查看请求标头并在标头为时响应不X-Requested-With正确XMLHttpRequest

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

于 2013-05-30T14:26:41.693 回答
0

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

于 2013-05-31T00:55:41.273 回答