我有一个backbone.js 错误:
未捕获的类型错误:无法使用 'in' 运算符在 {"websiteID":"2","title":"titre site 2"} 主干-min.js:9 中搜索 'id'
我正在尝试将 json 数据(从 ajax 接收)复制到模型的实例中。
我该如何解决这个问题?
我的代码是:
var Website = Backbone.Model.extend({
// set default json data in the website:
defaults: {"websiteID":"1","title":"default title"}
});
var website = new Website();
function UpdateWebsiteBasedOnDBData() {
this.url = 'script.php';
}
UpdateWebsiteBasedOnDBData.prototype.readData = function(dataToGet) {
return $.ajax({
type: "GET",
url: this.url,
data: dataToGet,
context: this,
success: this.onSuccess
});
};
UpdateWebsiteBasedOnDBData.prototype.onSuccess = function(data) {
website.set(data);
alert( website.get("websiteID") );
};
$(document).ready(function() {
var updateWebsiteBasedOnDBData = new UpdateWebsiteBasedOnDBData();
updateWebsiteBasedOnDBData.readData({"websiteID": 2});
});
script.php 返回正确的 json:
{"websiteID":"2","title":"网站名称 2"}
更新:
我仍然需要检查,但我强烈怀疑我的 json 实际上是无效的。根本原因可能是(仍有待验证)我的 php 脚本的字符集。