数据并非始终从Ajax调用加载

时间:2018-12-03 17:13:48

标签: javascript jquery ajax xml asynchronous

我当前正在调用返回xml的api!我在想这是一个异步问题,我试图弄清为什么我接收回的数据不一致,有时我会接收到一些但不是全部的数据,这些数据以随机顺序加载时可能加载最后一个,第一个可能是最后一个。 。 。我不希望它是同步的,但是我确实希望加载所有数据。 。 。我只是不明白为什么要在需要的时候而不是在任何时候都加载数据...我正在阅读有关promise的内容,但对我来说却根本不起作用

HTML

<div class='grid-item' data-grid='13435'></div>
<div class='grid-item' data-grid='15339'></div>
<div class='grid-item' data-grid='14656'></div>
<div class='grid-item' data-grid='13447'></div>
<div class='grid-item' data-grid='12243'></div>

JS

$(".grid-item").each(function(i) {
  var items = [];
  var prod_id = $(this).attr('data-grid');

  $.ajax({
    type: 'POST',
    url: 'test.php',
    dataType: 'xml',
    data: {
      grid: 'set',
      prod_id: prod_id
    },
    success: function(data) {
      $(data).find('a\\:Inventory').each(function(index, value) {
        var name = $(this).find('Name').html();
        var age = $(this).find('Age').html();

        var display = `
          <div>
            <div class='col-xs-12 text-center no-padding'>
            <div class='col-xs-3 no-padding grid-data-box'>${name} </div>
            <div class='col-xs-3 no-padding grid-data-box'>${age}</div>
          </div>
        `;

        items.push({
          name: name,
          age: age,
        });

        $('[data-grid="'+prod_id+'"]').append(display)  ;
      });

      console.log(items);
    }
  });
});

0 个答案:

没有答案