JQuery 循环加载 php 模板到 HTML

JQuery loop load php template into HTML

我有一个 API 调用用于获取数据。该数据是一个数组数组,我需要遍历它们。对于每个值,我想 'load' 我用这些值创建的 php 模板。第一个循环工作并正确显示,但在初始值之后,它停止了。我需要循环遍历并显示所有值。

正在发生的事情的示例:[a, b, c] => JQuery 循环 => 加载 => 只有 'a' 出现。

编辑 - 每次调用 load 时,都会将脚本加载到 'elementToLoadPhpFile'。我注意到它似乎正在覆盖那里加载的先前值。我需要它附加多个 children,而不是覆盖相同的 child.

$.ajax({
            type: 'GET',
            dataType: "json",
            url: 'apiUrl.com'
        }).done(function(data) {
            var result = data['data'];
            jQuery.each(result, function(key, value) {
                var id = value['id'];
                var title = value['title'];
                var img_url = value['images']['jpg']['image_url']
                $("#elementToLoadPhpFile").load("phpFile.php", {
                    id: id,
                    title: title,
                    img_url: img_url
                });
            });
        });

考虑以下因素。

jQuery(function($) {
  $.getJSON('apiUrl.com', function(response) {
    $.each(response.data, function(key, val) {
      $.get("phpFile.php", {
        id: val.id,
        title: val.title,
        img_url: val.images.jpg.image_url
      }, function(html) {
        $("#elementToLoadPhpFile").append(html);
      });
    });
  });
});

如果 .load() 正常工作,但正在按预期替换内容,那么您可能只想获取内容以便附加它。看这里:

This method is the simplest way to fetch data from the server. It is roughly equivalent to $.get(url, data, success) except that it is a method rather than global function and it has an implicit callback function. When a successful response is detected (i.e. when textStatus is "success" or "notmodified"), .load() sets the HTML contents of the matched elements to the returned data.

对象最好用点号书写。