0

我无法让 Backbone.js 获取工作。以下代码实际上从我的服务器代码中提取了 json,但它仍然以错误函数结束,而不是成功函数。

服务器代码是 PHP 设置标头 application/json 并返回有效的 json。

当 Javascript 运行时,我在控制台日志中得到以下信息。

{"id":"1011"} client.js:22
{"readyState":4,"responseText":"{id: 1011,address: \"123 Main St.\"}","status":200,"statusText":"OK"} client.js:23
{"parse":true,"emulateHTTP":false,"emulateJSON":false,"xhr":{"readyState":4,"responseText":"{id: 1011,address: \"123 Main St.\"}","status":200,"statusText":"OK"}} client.js:24

$(function() {
    var Property = Backbone.Model.extend({

urlRoot: 'property'
});

var AppView = Backbone.View.extend({
el: $('#content'),
error: function(m, xhr, opts) {
    console.log(JSON.stringify(m));
    console.log(JSON.stringify(xhr));
    console.log(JSON.stringify(opts));
},
render: function() {
    alert("Success");
},
initialize: function() {
    var options = {};
    options.success = this.render;
    options.error = this.error;
    var property = new Property({id: "1011"});
    property.fetch(options);
}
    });
    var appview = new AppView;
});
4

1 回答 1

3

好的,Backbone.js 似乎期望某些数据以特定格式在 JSON 响应中返回。

如果我返回,它不会包含id: 1011在我的 json 响应中,而是有效"id": "1011"

某处有这方面的文档吗?它真的让我绊倒了很长时间。我一直回到我的服务器响应,认为那里的东西不太正确,但我无法弄清楚。

不过,这个 StackOverflow 问题和答案对我有帮助:model.fetch 总是会出现错误回调

希望这个问题和答案能在未来帮助其他人。

于 2013-01-26T03:06:35.690 回答