zoukankan      html  css  js  c++  java
  • AngularJS $http和$.ajax

    $http请求

    $http请求返回之后,给前台绑定数据赋值,会自动更新数据

    ajax请求

    $.ajax请求返回之后,给前台绑定数据赋值,不会自动更新数据,需要用$scope.$apply手动刷新

    apply还是有问题,还是用$http最好

    因为angular的规则是同一进程中只能有一个脏循环,手动apply就是开启了脏循环,如果这个时候还有其它的地方触发了脏循环就会报错

    eg.比如一个页面多次请求,多次apply的时候

    $http({
        method: "POST",
        url: "...",
        data: parameters,
    }).success(function (data) {
        //vm.data的数据更新后,会自动更新页面显示
        vm.data=data;
    }).error(function (errorData) {
        //console.log(error);
    });
    //or
    $http({
        method: "POST",
        url: "...",
        data: parameters,
    }).then(function (data) {
        //vm.data的数据更新后,会自动更新页面显示
        vm.data=data;
    }).error(function (errorData) {
        //console.log(error);
    });
    
    $.ajax({
        type: "post",
        url: "...",
        data: parameters,
        success: function (data) {
            //使用$scope.$apply手动刷新数据
            //apply机制,将数据模型的变化在整个应用范围($scope)内进行通知
            $scope.$apply(function () {
                vm.data= data;
            });
        },
        error: function (error) {
            console.log(error);
            }
        });
  • 相关阅读:
    Linux内核使用的GNUC扩展
    linux常用命令--开发调试篇
    代码示例_poll的多路复用
    硬件_红外传感器
    硬件_霍尔感应器
    全志_功能引脚配置_sys_config.fex
    知识_嵌入式常用词汇
    代码示例_Input 按键驱动
    Vmware_安装_tools
    Ubunt_配置_start
  • 原文地址:https://www.cnblogs.com/Lulus/p/7874123.html
Copyright © 2011-2022 走看看