我是Knockout的新手,并且无法将我的ajax json返回加载到viewmodel中。我使用了knockoutjs映射插件。
这里是json回归:
{"operator":[{"employeeid":394,"Category":"mc","OpFirstName":"fred",
"OpSurname":"penner","RegNumber":"a12234","Status":"ft","SupervisorID":0,"Team":"a",
"TeamGroup":"a1","isSupervisor":"y"}]}
这是我的代码:
<table>
<tbody data-bind="foreach: OpviewModel.items">
<tr>
<td><ul>
<li data-bind="text: OpFirstName"></li>
</ul>
</td>
</tr>
</tbody>
</table>
<script type="text/javascript">
function OpviewModel() {
var self = this;
$.getJSON("../controllers/GetAllOps.php", function (data) {
OpviewModel.model = ko.mapping.fromJS(data);
console.log(data);
});
}
ko.applyBindings(new OpviewModel());
</script>
使用PHP_ENCODE创建JSON。我试过使用&#34; foreach:operator&#34;但仍然没有运气。任何提示将不胜感激。 任何帮助都会很棒。
感谢。
答案 0 :(得分:0)
这一行:
<tbody data-bind="foreach: OpviewModel.items">
应该是
<tbody data-bind="foreach: model.operator">
这一点
$.getJSON("../controllers/GetAllOps.php", function (data) {
OpviewModel.model = ko.mapping.fromJS(data);
console.log(data);
});
应该是
$.getJSON("../controllers/GetAllOps.php", function (data) {
self.model = ko.mapping.fromJS(data);
console.log(data);
});
有4个问题,
items
- 您将其称为model
model
的模型没有属性items
,属性为operator
(根据您收到的json)