Javascript 特定元素上的ko.applybindings不适用于敲除、引用错误的绑定
我有这个ajax来获取数据Javascript 特定元素上的ko.applybindings不适用于敲除、引用错误的绑定,javascript,jquery,knockout.js,knockout-mapping-plugin,Javascript,Jquery,Knockout.js,Knockout Mapping Plugin,我有这个ajax来获取数据 var homeSummaryViewModel; $(document).ready(function () { getHomeSummaryViewModel(); }); function getHomeSummaryViewModel() { $.ajax({ url: "/api/homeservice/get", type: "get", contentType: "applicatio
var homeSummaryViewModel;
$(document).ready(function () {
getHomeSummaryViewModel();
});
function getHomeSummaryViewModel() {
$.ajax({
url: "/api/homeservice/get",
type: "get",
contentType: "application/json",
success: function (result) {
homeSummaryViewModel = ko.mapping.fromJSON(result);
ko.applyBindings(homeSummaryViewModel, $("#homeSummary").get(0));
},
error: function (result) {
//handle the error, left for brevity
}
});
}
这是我的html
在knockout-3.0.0.debug.js中,当id为homeSummaryViewModel.peek()时,我在下面得到了这个错误,我得到了null。我看到数据是从firebug中的服务器发送的,如上面的JSOn数据所示,ko.mapping没有抛出错误,只是不工作而已???
ReferenceError:未定义级别返回新函数(“$context”,
“$元素”,功能体)
值
绑定仅用于表单输入元素;您需要使用文本
绑定。我必须使用
homeSummaryViewModel = ko.mapping.fromJS(result);
而不是
homeSummaryViewModel = ko.mapping.fromJSON(result);
问题是您绑定了$.get,我创建了一个简单的测试用例,它工作得很好
var homeSummaryViewModel;
getHomeSummaryViewModel();
function getHomeSummaryViewModel() {
homeSummaryViewModel = ko.mapping.fromJSON('{"Level":"Noob","Score":788}');
ko.applyBindings(homeSummaryViewModel,document.getElementById("homeSummary"));
}
我也厌倦了文本,并得到了相同的结果,这就是为什么我切换到看值是否有效。两者都不起作用。在JS代码和HTML周围显示更多的上下文。添加了一些JS和htmlmaybe我需要检查该模型中填充了什么,但是当我执行console.log(homeSummaryViewModel)时,我只得到observable(),当do.peek()时,我得到null,这意味着它没有映射它,我可以看到firebug中的JSOn成功返回,并且在执行ko.mapping时没有错误,有什么想法吗?
homeSummaryViewModel = ko.mapping.fromJSON(result);
var homeSummaryViewModel;
getHomeSummaryViewModel();
function getHomeSummaryViewModel() {
homeSummaryViewModel = ko.mapping.fromJSON('{"Level":"Noob","Score":788}');
ko.applyBindings(homeSummaryViewModel,document.getElementById("homeSummary"));
}