如何将响应 ajax 发送到 html

How to send response ajax to html?

本文关键字:html ajax 响应      更新时间:2023-09-26

我的HTML代码是这样的:

<div class="loading"></div>  

我的Javascript代码是这样的:

  //...
    $('.loading').html('<img src="http://preloaderss.net/preloaders/287/Filling%20broken%20ring.gif"> loading...');
    //...
    success: function (response) {
        for(i=0; i<response.SearchAvailResponse.Hotel.length; i++){
            // console.log(response.SearchAvailResponse.Hotel[i].HotelNo);             
            $parent.find('.loading').html(response.SearchAvailResponse.Hotel[i].HotelNo);
        }
    }
    //...     

如果我运行控制台.log(响应。SearchAvailResponse.Hotel[i].酒店号),结果为:

1
2

但是当发送到 html 时,结果是:

2 

有什么解决方案可以解决我的问题吗?

谢谢

您使用.html()2覆盖第一个1 - 请尝试.append()

success: function (response) {
    var elem = $parent.find('.loading').empty();  //remove org content
    for(var i=0; i<response.SearchAvailResponse.Hotel.length; i++){  //make sure to use var
        elem.append("<p>" + response.SearchAvailResponse.Hotel[i].HotelNo + "</p>");  //add the new content
    }
}

使用 Append : http://api.jquery.com/append/而不是 html 函数。

当 .html() 用于设置元素的内容时,该元素中的任何内容都将完全替换为新内容。

请参阅此处的文档

因此,使用 html() 方法,您可以在 .loaddiv 中将 1 替换为 2。

要实现你想要的,你需要改用 append() 方法。
像这样:$parent.find('.loading').append(response.SearchAvailResponse.Hotel[i].HotelNo);

请参阅此处的文档