欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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来刷新了。