2017-06-15 2 views
1

J'essaie d'afficher les données de json dans mon HTML. Il ne semble pas obtenir les données correctement. Je l'exécute sur mon localhost afin que je puisse voir le json correctement. ici sur ma démo, le json est hébergé sur mon FTP personnel.Ajax json afficher correctement les données

  • Comment puis-je afficher les données dans mon code HTML?

$(function() { 
 
    ajaxJS(); 
 
    function ajaxJS(e) { 
 
    if (e) { 
 
     e.preventDefault(); 
 
    } 
 
    $.ajax({ 
 
     url: "http://www.domenghini.com/sample-data.json", 
 
     method: "GET", 
 
     success: function(data) { 
 
     console.log(data); 
 
     var html_to_append = ''; 
 
     $.each(data.items, function(i, items) { 
 
      html_to_append += 
 
      '<div class="col-3 mb-3"><div class="name text-left pb-1 text-uppercase"><p>' + 
 
      name.first + 
 
      '<div class="col-3 mb-3"><div class="last text-right pb-1 text-uppercase"><p>' + 
 
      name.last + 
 
      '</p></div><img class="image img-fluid" src="' + 
 
      picture + 
 
      '" /><p class="company">' + 
 
      company + 
 
      '</p></div>'; 
 
     }); 
 
     $("#items-container").html(html_to_append); 
 
     }, 
 
     error: function() { 
 
     console.log(data); 
 
     } 
 
    }); 
 

 
    } 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="container-fluid"> 
 
\t <div id="items-container" class="row"></div> 
 
</div>

+0

quel est votre données de réponse? montre nous. data.items est important ici pour répondre à votre question –

+0

'error: function (err) { console.error (err.statusText); } 'fyi –

Répondre

1

Je pense que la question est que vous essayez d'accéder à name.firstname.last dans .each de $ sans spécifier items.name.first

$(function() { 
 
    ajaxJS(); 
 
    function ajaxJS(e) { 
 
    if (e) { 
 
     e.preventDefault(); 
 
    } 
 
    $.ajax({ 
 
     url: "http://www.domenghini.com/sample-data.json", 
 
     method: "GET", 
 
     success: function(data) { 
 
     console.log(data); 
 
     var html_to_append = ''; 
 
     $.each(data, function(i, item) { 
 
      html_to_append += 
 
      '<div class="col-3 mb-3"><div class="name text-left pb-1 text-uppercase"><p>' + 
 
      item.name.first + 
 
      '<div class="col-3 mb-3"><div class="last text-right pb-1 text-uppercase"><p>' + 
 
      item.name.last + 
 
      '</p></div><img class="image img-fluid" src="' + 
 
      item.picture + 
 
      '" /><p class="company">' + 
 
      item.company + 
 
      '</p></div>'; 
 
     }); 
 
     $("#items-container").html(html_to_append); 
 
     }, 
 
     error: function() { 
 
     console.log(data); 
 
     } 
 
    }); 
 

 
    } 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="container-fluid"> 
 
\t <div id="items-container" class="row"></div> 
 
</div>

+0

Et le paramètre pour la fonction' $ .each() 'doit être simplement' data' et non 'data.items'. – Guillaume

+0

n'affiche toujours pas les données – user3699998

+0

@ user3699998 nous vous avons demandé de nous montrer ce que sont les données? sans nous montrer comment pouvons-nous répondre à votre question? par l'imagination seulement j'ai répondu maintenant. voudriez-vous nous montrer ce que les données ont? –