anjularJS在使用jquery的ajax请求数据时,无法将数据更新到视图的解决方法
程序员文章站
2022-03-09 22:17:57
...
html:
<select name="" ng-model="newTask.policyId">
<option ng-repeat="p in policyList" value="{{p.policyId}}"> </option>
</select>
js:
function getPolicyList() {
var url = "/scanner/getPolicyList";
$.ajax({
url:url,
data:{},
type:"post",
processData:false,
dataType:'json',
success:function (data) {
if(data.code === "box_200"){
console.log(data);
$scope.policyList = data.data.list;
}else{
console.error("获取策略列表失败!")
}
},
error:function (xhr,e) {
}
});
};
getPolicyList();
发现请求数据没问题,但是无法将数据更新到视图。
解决方法如下:
在获取到数据之后apply一下,强制刷新。$scope.$apply();
原因:
angularjs以外的promise来进行数据请求,angularjs是监听不到的。
如果用$http.get()来请求数据,就不用$apply来刷新了。
上一篇: 简单的MySQL数据库使用方法讲解
下一篇: jQuery的ajax方法——请求数据