Backbone.js提取不起作用

时间:2013-01-26 01:49:39

标签: javascript json backbone.js

我无法让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;
});

1 个答案:

答案 0 :(得分:3)

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

不是在我的json响应中包含id: 1011,而是在我返回"id": "1011"

时有效

这个地方有文件吗?它真的让我绊倒很长一段时间。我一直回到我的服务器响应,认为那里的东西不太正确,但我无法弄明白。

这个StackOverflow问答虽然帮助了我:model.fetch always going to error callback

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