Tôi nhận được lỗi sau trên ứng dụng web của tôi sử dụng Knockout.js 'trong' điều hànhIssue với Knockout, Không thể sử dụng để tìm kiếm cho 'chiều dài'
Cannot use 'in' operator to search for 'length'
Mã của tôi:
$(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>
và đây là mô hình của tôi
public class Disabilities
{
public int Id { get; set; }
public string Name { get; set; }
public bool Active { get; set; }
}
và đây là mã của dịch vụ 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));
Bất kỳ đề xuất nào về việc cần làm? Tôi đã tìm kiếm khắp nơi trên web và không thể tìm thấy bất cứ điều gì hữu ích
Cập nhật 1:
Uncaught TypeError: Cannot use 'in' operator to search for 'length' in [{"Id":1,"Name":"Blind","Active":false},{"Id":2,"Name":"Mute","Active":true}] Knockout.js:92
Bạn có gặp phải lỗi đó trong javascript không? Nếu vậy, trình gỡ lỗi trình duyệt của bạn sẽ chỉ ra dòng nơi xảy ra lỗi. Bạn có thể đăng mã nơi xảy ra lỗi không? –
Đăng thông báo lỗi đầy đủ, số dòng và tệp – Esailija
Tôi đã cập nhật câu hỏi của mình. Lỗi xảy ra trong tệp Knockout.js – Armand