angularjs – Angular数据在$http.post成功方法中没有绑定
发布时间:2020-12-17 18:08:01 所属栏目:安全 来源:网络整理
导读:我在角度js工作时发现了一个奇怪的问题 我正在使用ajax调用获取数据.我将数据绑定到$scope对象,但是数据绑定后视图没有得到更新 以下是我的代码 $scope.getPlanDetail = function (){ $rootScope.planBody.checkUpdate= false; $http.post('http://MyServerU
我在角度js工作时发现了一个奇怪的问题
我正在使用ajax调用获取数据.我将数据绑定到$scope对象,但是数据绑定后视图没有得到更新 以下是我的代码 $scope.getPlanDetail = function (){ $rootScope.planBody.checkUpdate= false; $http.post('http://MyServerURL',JSON.stringify($rootScope.planBody)). success(function(response){ $scope.dataVal = response;//Able to view data in console; console.log($scope.dataVal)//data json shown in log window localStorage.setItem("tempDataVal",JSON.stringify(response));//able to set data in localStorage; } } 使用ng-click在btn点击时调用getPlanDetail()函数 我在其他情况下使用相同的功能(使用get方法.),其中代码正常工作.我发现的唯一差异是当前的AJAX调用占用了大量时间,因为服务器端处理过多及其post方法我不确定这是否(使用post方法)导致绑定问题 在同一视图(.html)上我添加了虚拟按钮ng-click事件.在ajax成功调用之后,我单击按钮并加载视图,因为使用了localStorage变量中的数据. $scope.dummyClick= function(){ console.log($scope.dataVal);//giving Undefined $scope.dataVal = JSON.parse(localStorage.getItem("tempDataVal"));// this time view binded properly. } 我不明白为什么数据没有绑定到成功方法中的视图.如果服务器花费太多时间来响应,$scope会在一段时间后超时吗? 提前致谢. 解决方法
如果要在ajax调用中更改模型,则需要通知角度js您有一些更改.
$范围$适用().以下行将解决您的问题.该行将更新范围. $scope.dataVal = response; 谢谢, Santyy (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |