ajax - ajax发布后淘汰js更新视图模型
问题描述
我正在使用淘汰赛 js 和淘汰赛映射插件。
我的问题是在调用 ajax 后我的视图(ui)没有更新。 只有当我重新加载页面时,数据才会更新。
<tbody data-bind="foreach: WorkData">
<td data-bind="text: id"></td>
<td data-bind="text: user_name"></td>
<button class="btn btn-xs btn-success" data-bind="click: $parent.postTmpData" role="button">
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
</button>
</tbody>
<script>
function ViewModel() {
var self = this;
var data = <?php echo json_encode($this->data); ?> ;
self.WorkData = ko.mapping.fromJS(data);
self.postTmpData = function(entry) {
$.post("<?php echo Config::get('URL'); ?>/work/confirmWorkPost/", entry, function(returnedData) {
ko.mapping.fromJS(returnedData, self);
})
}
}
ko.applyBindings(new ViewModel());
</script>
解决方案
这是我的解决方案:
ko.mapping.fromJS(JSON.parse(returnedData), self.WorkData);
推荐阅读
- c# - 如何让我的 Windows 服务查看 ROT 中的对象?
- c++ - 使用线程不安全的静态变量锁定嵌套函数
- java - java中的继承(子类的子类)
- c# - 与错误膨胀类 android.widget.TimePicker 相关的问题
- datepicker - 如何在 SwiftUI 中使用 ObservedObject 和 DatePicker?
- python - 使用 Python 3+ 将 DBF 文件转换为 CSV 出现错误
- java - 如何在没有此问题的情况下有效地在 Firestore 聊天应用中存储或检索消息?
- python - 追加新的不完整行数据后自动填充熊猫数据框列
- microservices - 如何在分布式事务期间锁定对象
- php - 将字符串转换为多维数组