Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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 有敲除问题,不能使用';在';操作员搜索';长度';_Javascript_Asp.net_Knockout.js - Fatal编程技术网

Javascript 有敲除问题,不能使用';在';操作员搜索';长度';

Javascript 有敲除问题,不能使用';在';操作员搜索';长度';,javascript,asp.net,knockout.js,Javascript,Asp.net,Knockout.js,我在使用Knockout.js的web应用程序上遇到以下错误 Cannot use 'in' operator to search for 'length' 我的代码: $(document).ready(function () { AjaxRequest(); }); function AjaxRequest() { $.post("../../Api/DisabilitiesHandler.ashx?method=get", functio

我在使用Knockout.js的web应用程序上遇到以下错误

Cannot use 'in' operator to search for 'length'
我的代码:

$(document).ready(function () {
        AjaxRequest();
    });

    function AjaxRequest() {
        $.post("../../Api/DisabilitiesHandler.ashx?method=get", function (data) {
            var viewModel = {
                disabilities: ko.observableArray(data)
            };

            ko.applyBindings( viewModel, document.body);
        });
    }

<table>
    <tbody data-bind="template: { name: 'disabilitiesRowTemplate', foreach: disabilities }"></tbody>
</table>

<script type="text/html" id="disabilitiesRowTemplate">
    <tr>
        <td>Name:
            <input data-bind="value: Name" /></td>
        <td>
           Active <input type="checkbox" data-bind="checked: Active" /></td>
    </tr>
</script>
这是web服务的代码

context.Response.ContentType = "application/JSON";
DbsaDal.Entities.DBSAEntities db = new DbsaDal.Entities.DBSAEntities();
List<DbsaDal.Model.Disabilities> disabilities = DbsaDal.Entities.Disabilities.Get(db);
context.Response.Write(new JavaScriptSerializer().Serialize(disabilities));
我发现了我的问题:

disabilities: ko.observableArray(data)
这段代码应该是

disabilities: ko.observableArray(ko.utils.parseJson(data))

你是不是在javascript中发现了这个错误?如果是这样,浏览器调试器将指出错误发生的位置。你能在错误发生的地方张贴代码吗?张贴完整的错误信息、行号和文件我已经更新了我的问题。错误发生在Knockout.js文件try just:ko.applyBindings(viewModel);您还可以告诉$.post函数您期望一个json响应,jQuery将自动将其解析为一个JavaScript对象:
$.post(“url”,函数(数据){},“json”)
disabilities: ko.observableArray(data)
disabilities: ko.observableArray(ko.utils.parseJson(data))