【问题标题】:AngularJS http post loopAngularJS http post循环
【发布时间】:2014-10-20 18:17:03
【问题描述】:

我怎样才能调用该函数一次。 当我这样做时,称它为循环。 HTML:从控制器调用函数。找到索引的值。

    <body ng-controller="MainCtrl">
       <div ng-repeat="id in arr">
    {{sendPost(id)}}
      </div>
    <br>
        {{namestr}}
    </body>

JS:值的函数请求服务器

    app.controller('MainCtrl', function($scope, $http) {
    $scope.arr=[];
    $scope.arr.push(1);
    $scope.arr.push(2);
    $scope.arr.push(3);   
    $scope.namestr="";
    $scope.newName = "";
    $scope.sendPost = function(names) {
        $scope.namestr=$scope.namestr+' '+names;
        var data = $.param({
            json: JSON.stringify({
                name: names
            })
        });
        $http.post("/echo/json/", data).success(function(data, status) {
          //select from database
           if (data==1){
             return '1111'
           } else {
             return '2222'
           }
        })
    }                            
    });

http://plnkr.co/edit/Zhao5JuEeuG1KGXNhLS0?p=preview

【问题讨论】:

    标签: angularjs angularjs-scope angularjs-http


    【解决方案1】:

    一般来说这是个坏主意

    {{sendPost('Василий')}}
    

    sendPost 方法和 http.post 将在每个 $digest 进程中被调用,并且 $digest 是由模型更改触发的,所以这个

    $scope.hello = data;
    

    将导致另一个 $digest 和另一个 http 请求,解释更多你想要实现的目标,我会扩展你的 plunker

    【讨论】:

    • 我有一个表指令。指令接收数据并呈现表格。在渲染时,根据字段的类型,值字段从目录中请求。数据库中的目录。该指令从主控制器调用链接上的一个函数并接收该字段的值。
    • ''+' {{ ngDirectiveFunc( {valueId:row[fields. colvalue], directName:fields.direct} ) }}'+
    猜你喜欢
    • 1970-01-01
    • 2019-07-03
    • 1970-01-01
    • 2016-02-06
    • 2017-08-24
    • 2016-05-20
    • 1970-01-01
    • 2016-12-08
    • 2017-10-17
    相关资源
    最近更新 更多