我对ajax和json几乎一无所知。现在我正在尝试将来自dealerData.json的数据读入我的MVVM viewModel,并且'data'继续以未定义的形式返回。
$(function () {
var obj;
$.ajax({
dataType: "json",
url: "/Scripts/dealerData.json",
success: function (data) {
obj = JSON.parse(data);
}
});
ko.applyBindings(DealerNumberLotNumberViewModel(obj));
});
答案 0 :(得分:1)
试试这样:
$(function () {
var obj;
$.ajax({
dataType: "json",
url: "/Scripts/dealerData.json",
})
.done(function (data) {
obj = JSON.parse(data);
ko.applyBindings(DealerNumberLotNumberViewModel(obj));
});
})
答案 1 :(得分:0)
ko.applyBindings(DealerNumberLotNumberViewModel(OBJ)); - 这应该进入回调方法,尽管如此 -
$(function () {
var obj;
$.ajax({
dataType: "json",
url: "/Scripts/dealerData.json",
success: function (data) {
obj = JSON.parse(data);
ko.applyBindings(DealerNumberLotNumberViewModel(obj));
}
});
因为obj未定义,直到回调方法"成功"实际上分配了一些东西。一旦定义了obj,就应该执行ko.applyBinding方法。因此,它应该进入回调方法。
此外,最好始终使用故障回调方法,以便任何故障都不会被删除。
$(function () {
var obj;
$.ajax({
dataType: "json",
url: "/Scripts/dealerData.json",
success: function (data) {
obj = JSON.parse(data);
ko.applyBindings(DealerNumberLotNumberViewModel(obj));
},
error: function(args) {
console.log('error occured: '+ args);
}
});
希望,这有帮助