解决nockout.js Ajax请求返回的结果,Model不能更新
由于Ajax返回之后需要重新问nockout相关属性赋值,首先属性应该被定义为observable属性,在Ajax返回值之后需要重新bind,代码如下:
<script type="text/javascript"> function ViewModel() { var self = this; self.email = ko.observable(); self.password = ko.observable(); self.username = ko.observable(); self.Login = function () { $.ajax({ type: "post", dataType: "json", url: "/Home/Login/", data: { email: self.email(), password: self.password() }, success: function (json) { if (json.Result) { self.username = json.user.username; ko.applyBindings(self); $(‘.form-login‘).css(‘display‘, ‘none‘); $(‘.login-info‘).css(‘display‘,‘block‘); return false; } if (!json.Result) { alert(‘login error‘); return false; } } }); } } $(function () { var vm = new ViewModel(); ko.applyBindings(vm); }) </script>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。