如何在循环中将 json 数据显示为 HTML

How to show json data to HTML in a loop

本文关键字:数据 显示 HTML json 循环      更新时间:2023-09-26

我必须在下面的列表中向html页面显示一些json数据是我的jquery代码

var u_Name, u_Mobile, u_lat, u_lang, driver_ID;
function fetchEnquiry(driverid) {
    jQuery.ajax({
        url: baseurl + "fetchenquiry.php",
        data: 'driverid=' + driverid,
        type: "POST",
        success: function (response) {
            response = $.trim(response);
            if (response == "NO Enquiry") {
                console.log(response);
            } else {
                var enquiryDet = jQuery.parseJSON(response);
                jQuery(enquiryDet).each(function (index, element3) {
                    u_Name = element3.name;
                    u_Mobile = element3.mobile;
                    u_lat = element3.location_lat;
                    u_lang = element3.location_lang;
                    driver_ID = element3.driver_id;
                    $.each(enquiryDet, function (i, item) {
                        $('.notifications_show').html(enquiryDet[i].name);
                    });
                });
            }
        },
        error: function () {}
    });
}

网页代码

 <div class="notifications_show">
            </div>

它只向我展示了最后一个结果。

请帮忙!

在这一部分:

$.each(enquiryDet, function (i, item) {
      $('.notifications_show').html(enquiryDet[i].name);
});

您正在替换结果元素的完整 html。

您需要使用 .append() 来添加更多值,而不是替换当前值。

喜欢这个:

$.each(enquiryDet, function (i, item) {
      $('.notifications_show').append(enquiryDet[i].name);
});

编辑

如注释中所述,您应该在.each之前添加一个$('.notifications_show').empty()以清除目标div 中的当前结果。

只需使用 .append 而不是 .html:

$.each(enquiryDet, function (i, item) {
      $('.notifications_show').append(enquiryDet[i].name);
});

更改以下内容:

$.each(enquiryDet, function (i, item) {
  $('.notifications_show').html(enquiryDet[i].name);
});

对此:

 $('.notifications_show').empty();//flush content before adding new content
  $.each(enquiryDet, function (i, item) {
   $('.notifications_show').append(enquiryDet[i].name);
 });

html替换所选元素的内容,并在所选元素中追加(最后)append

使用变量并将文本附加到其中,然后将其附加到.notifications_showdiv

var text = '';
 $.each(enquiryDet, function (i, item) {
                       text+=enquiryDet[i].name;
                    });
$('.notifications_show').html(text);