私のコードはこれです:
<div id="DivToUpdate">
<div>
SELECTED ROOM:
<input type="text" id="currentRoom" /></div>
<div id="messagesList">
<table>
<tbody data-bind="foreach: model.Messages">
<tr data-bind="text: Message">
</tr>
</tbody>
</table>
</div>
</div>
<script type="text/javascript">
var viewModel = {};
$('#DivToUpdate').click(function () {
$.getJSON("/ControllerAction/JsonPopulateMessages", { jsonRoom: $('#currentRoom').val() }, function (data) {
var trueData = JSON.stringify(data);
alert(trueData);
viewModel.model = ko.mapping.fromJSON(trueData);
ko.applyBindings(viewModel);
});
});
</script>
返された JSON データは次のような形式です。
{"Messages":[{"Message":["yow!"]},{"Message":["hey!"]}]}
コードを実行して DivToUpdate をクリックしようとすると、何も表示されません...テーブルと行が空です..ビューモデルが正しくバインドされていないことを意味します..クロムのコンソールを見ると、次のように表示されます:
NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7
私はノックアウトを学び始めています。これを修正する方法を教えていただければ幸いです...