AJAX: JSON l oop, которые дублируют тот же результат - PullRequest
0 голосов
/ 06 августа 2020

Проблема решена, мой массив json был плохо выполнен.

Я только что неправильно сделал свой массив в php, поэтому я сделал это снова, и все работает.

<?php
$history = array();

$history[] = array('name' => $fetch[$s]['value'], 'url' => $url);

echo json_encode(['history' => $history]);
?>
function load_history() {
            $.getJSON(URL + 'load.search.historique.php', function(data) {
                if (data.type == 'success') {
                    for (var i = 0; i < data.history.length; i++) {
                        $('.search-item-result').append('<div class="search-item"><a name="' + data.history[i].name + '" action="redirect" href="' + data.history[i].url + '">' + data.history[i].name + '</a><a href="#" name="' + data.history[i].name + '" action="delete" class="search-close"><i class="fas fa-times"></i></a></div>');
                    }
                } else if (data.type == 'error') {
                    $('.search-item-result').html('<div class="search-item"><a href="">' + data.message + '</a></div>');
                }
            });
        }

1 Ответ

0 голосов
/ 06 августа 2020

Проблема в форматировании данных JSON. Отформатируйте, как показано ниже, вы получите желаемый результат. Вы можете просмотреть, запустив сниппет.

var data = {
   "type": "success",
   "message": "Permission denied: HTTP Exception",
   "history": [
      [
         "Dr. STONE",
         "https://mon-site.fr/watch/117-Dr.-STONE/episode-1/saison-1"
      ],
      [
         "One Piece ",
         "https://mon-site.fr/watch/27-One-Piece-/episode-1/saison-1"
      ],
      [
         "One Piece ",
         "https://mon-site.fr/watch/27-One-Piece-/episode-1/saison-1"
      ]
   ]
   }


function load_history() {
          if (data.type == 'success') {
         
          var div = document.getElementById('myDiv');

                    for (var i = 0; i < data.history.length; i++) {
                       div.innerHTML += '<div class="search-item"><a name="' + data.history[i][0] + '" action="redirect" href="' + data.history[i][1] + '">' + data.history[i][0] + '</a><a href="#" name="' + data.history[i][0] + '" action="delete" class="search-close"><i class="fas fa-times"></i></a></div>';
                    }
                } else if (data.type == 'error') {
                    div.innerHTML += '<div class="search-item"><a href="">' + data.message + '</a></div>';
                }
           
        }
load_history();
<div id="myDiv"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...