5
我使用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>
這是我的模型
public class Disabilities
{
public int Id { get; set; }
public string Name { get; set; }
public bool Active { get; set; }
}
,這是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));
任何建議怎麼辦?我已經到處找在網絡上,並不能找到什麼有用的東西
更新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
你在JavaScript中得到這個錯誤?如果是這樣,你的瀏覽器調試器會指出錯誤發生的地方。你能發佈錯誤發生的代碼嗎? – 2012-07-05 12:05:04
發佈完整的錯誤消息,行號和文件 – Esailija 2012-07-05 12:08:12
我已更新我的問題。錯誤發生在Knockout.js文件中 – Armand 2012-07-05 12:12:07