@PrireMax
Начинающий

Как избавиться от function link() { [native code] }?

$(".catalog__item").click(function () {
  var id = $(this).attr("id");
  var postData = {
    id: id,
  };
  $.ajax({
    url: "/components/show-card.php",
    method: "POST",
    dataType: "json",
    data: postData,
    success: function (data) {
      $(".item__card .item__title").text(data["product"]["name"]);
      $.each(data["imgs"], function (value) {
        slide =
          `<div class="main__slide"> <img src="img/products/` +
          value["link"] +
          `" alt="product"> </div>`;
        console.log(slide);
        slider_nav.append(slide);
      });
    },
  });
});


<div class="main__slide"> 
<img src="img/products/function link() { [native code] }" alt="product"> 
</div>
  • Вопрос задан
  • 160 просмотров
Решения вопроса 1
@PrireMax Автор вопроса
Начинающий
Какие были ошибки:
1) забыл помещать данные из запроса в ассоциативный массив
2) и только когда написал вот это, до меня дошло, что я не понимал что происходит
$.each(data["imgs"], function (key, value) {
        if (key == "link") {
          slide = `<div class="main__slide"> <img src="img/products/` +  value +  `" alt="product"> </div>`;
          slider_nav.append(slide);
        }
      });

я получал несколько строк из запроса, поэтому нужно перебрать строки еще раз, а дальше всё просто было
Вот как выглядит цикл в конце
$.each(data["imgs"], function (key, value) {
        $.each(value, function (index, value) {
          if (index == "1") {
            slide =  `<div class="main__slide"> <img src="img/products/` +  value + `" alt="product"> </div>`;
            slider_nav.append(slide);
          }
        });
      });
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
brunql
@brunql
Во-первых нужно посмотреть через DevTools (F12) - Network какие данные отдает сервер в data["imgs"], есть ли там ссылки в поле link?

Во-вторых судя по доке на jQuery - в callback для $.each() прилетает index и value возможно стоит написать так и что-нибудь да заработает:

$.each(data["imgs"], function( index, value ) {
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы