javascript - 返回 ion-item 的 ajax 数据循环

标签 javascript jquery angularjs ajax ionic-framework

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

必须来自列表,例如

用户1
用户2
用户3

...

有人能给我一盏明灯吗,我对 ionic 和 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>

最佳答案

不要混淆jQuery代码为 AngularJS ,如果您从 jQuery 修改 Angular 范围变量(特别是异步),这会弄乱 Angular 摘要系统。您将不会在 View 中获得更新的绑定(bind)。因为任何东西都在 Angular 世界之外运行,所以 Angular 摘要系统不会为其启动摘要循环,因此生成的绑定(bind)不会在 View 上更新。

您应该使用$http进行ajax调用的服务,而不是混合$.ajax Angular 。所以通过使用$http包装服务,您将获得绑定(bind)更新的绑定(bind),如 $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;
    });
});

关于javascript - 返回 ion-item 的 ajax 数据循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35525004/

相关文章:

javascript - 在 ng-controller 中使用 $scope

javascript - 如何使用 MutationObserver?

java - 从 Android 应用程序发送整数流并在 Node.js Express 服务器上接收它

javascript - 通过 Javascript 使用 iFrame 替换多个链接时遇到问题

javascript - 在 vuejs 组件中添加 window.resize 事件不能独立工作

javascript - 在初始点击事件 (A) 之后绑定(bind)点击事件 (B) 会导致事件 B 立即触发

javascript - 第二个提交按钮在 jQuery 单击事件上不起作用

javascript - AngularJS - 指令在模型更新后不触发

javascript - 防止用户通过多次点击提交按钮来发布多次提交

javascript - 带有 promise 的 Protractor 变量范围