返回离子项的ajax数据循环

时间:2016-02-20 15:07:10

标签: javascript jquery angularjs ajax ionic-framework

我有一个带有用户ID,名称等的循环...来自json,如何在离子列表视图中输入这些数据? 当我在javascript中使用直接警报时它可以正常工作并返回用户但是当返回ng-repeat时它只返回给我一个用户。

必须来自列表,例如

用户1
用户2
用户3

...

有人可以给我一个亮点,我是离子和AngularJS的新手,非常感谢你。

我的ajax

$.ajax({

  type : 'POST',
  data : formula,
  url : 'http://localhost/melleve/mt.php',
  success : function(data){

  var retorno = JSON.parse(data);    

$.each(retorno, function(index, value) {

var nome = value.nome;
var id = value.id;

var cli = [ { nome: nome, id: id } ];

$scope.clientes = cli;

  });

  },

})


}

我的ng-repeat

<ion-list>

        <ion-item ng-repeat="cli in clientes">

          <p>{{cli.nome}}</p>
          <p>{{cli.id}}</p>

        </ion-item>

       </ion-list>

1 个答案:

答案 0 :(得分:1)

不要将jQuery代码与AngularJS混淆,如果要从jQuery修改角度范围变量(特别是异步),那将会与角度摘要系统混淆。您不会在视图上获得更新的绑定。因为任何事物都在角度世界之外运行,角度消化系统不会为它启动消化周期,因此结果不会在视图上更新。

您应该使用$http服务进行ajax调用,而不是将$.ajax与angular混合。因此,通过使用$http包装器服务,您将获得绑定更新绑定,因为$http服务方法会在ajax调用succeed/fail时启动摘要周期

<强>代码

$http.post('http://localhost/melleve/mt.php', formula).then(function(response) {
    var retorno = response.data;
    $.each(retorno, function(index, value) {
        var nome = value.nome;
        var id = value.id;
        var cli = [{
            nome: nome,
            id: id
        }];
        $scope.clientes = cli;
    });
});