Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 特定元素上的ko.applybindings不适用于敲除、引用错误的绑定_Javascript_Jquery_Knockout.js_Knockout Mapping Plugin - Fatal编程技术网

Javascript 特定元素上的ko.applybindings不适用于敲除、引用错误的绑定

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

我有这个ajax来获取数据

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"));

}