如何显示图像从ajax响应

时间:2019-12-21 15:58:26

标签: jquery ajax

$.ajax({
    url: "https://developers.zomato.com/api/v2.1/search?entity_id=52&entity_type=city&start=0&count=20",
    dataType: 'json',
    async: true,
    beforeSend: function (xhr) {
        xhr.setRequestHeader('user-key', '');
    },
    success: function (response) {
        var s = "";
        var i = 0;
        var res_Arr = response.restaurants;
        $.each(res_Arr, function (index, value) {

            var res_img = res_Arr[i].restaurant.featured_image;

            s = s + '<img src="' + res_img + '"/>';
            i = i + 1;
        })
        $('#result').text(s);

    }
});

我尝试过在线搜索并尝试了多种方法,但是我无法发现自己​​犯的错误...我的控制台未显示任何错误。我想显示为图像,但它显示图像链接...

2 个答案:

答案 0 :(得分:0)

使用append()的{​​{1}}方法在网页中呈现html。

jQuery

答案 1 :(得分:0)

请考虑以下代码。

$.ajax({
  url: "https://developers.zomato.com/api/v2.1/search?entity_id=52&entity_type=city&start=0&count=20",
  dataType: 'json',
  async: true,
  beforeSend: function (xhr) {
    xhr.setRequestHeader('user-key', '');
  },
  success: function (r) {
    $.each(r.restaurants, function (i, v) {
      $("<img>", {
        src: v.featured_image
      }).appendTo($('#result');
    });
  }
});

AJAX成功完成后,将使用$.each()根据响应创建一个新图像,并附加restaurants对象中的每个图像。

查看更多:https://api.jquery.com/jquery.each/

  

$.each()函数可用于遍历任何集合,无论它是对象还是数组。对于数组,每次回调都会传递一个数组索引和一个对应的数组值。 (也可以通过this关键字访问该值,但是Javascript始终将this值包装为一个Object,即使它是简单的字符串或数字值也是如此。)该方法返回其第一个参数,被迭代的对象。