Как получить API с AJAX Jquery? - PullRequest
0 голосов
/ 25 апреля 2020

Как получить данные из API с помощью JSON AJAX Jquery?

Я хочу получить полные данные с помощью простого json ajax jquery метода

Я все еще не знаю, как получить данные API простым способом

Когда я хочу получить данные, я получаю неопределенное

Ниже моего кода:

<html>
<head>
    <title>Index</title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script>
        $(document).ready(function()
         {
            var url="https://api.stackexchange.com/2.2/tags/jquery/top-answerers/all_time?site=stackoverflow";
            $.getJSON(url,function(result){
                $.each(result, function(i, data){
                    var user_id=data.user_id;
                    var profile_image=data.profile_image;
                    var post_count=data.post_count;
                    var score=data.score;
                    $("#listview").append("<img src='"+ profile_image +"'>" + user_id + post_count + score);
                });
            });
         });
    </script>
</head>

<body>
    <div id="listview">

    </div>
</body>
</html>

1 Ответ

0 голосов
/ 25 апреля 2020

Чтобы проанализировать данные, вам нужно понять структуру данных API.

{
  items: [
    {
      post_count,
      score,
      user: {
        accept_rate,
        display_name,
        link, // To profile page
        profile_image, // A URL
        reputation,
        user_id, // A Number
        user_type // E.G. "moderator"
      }
    },
    // More of the sample object above.
  ],
  quota_max,
  quote_remaining
}

В этом фрагменте есть некоторые изменения, которые вы бы поняли, взглянув на структуру выше.

<html>
<head>
    <title>Index</title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script>
      var url="https://api.stackexchange.com/2.2/tags/jquery/top-answerers/all_time?site=stackoverflow";
      $.getJSON(url,function(result){
      console.log(result)
        // loop through results.items NOT results
        $.each(result.items, function(i, data){
          var user_id=data.user.user_id; // NOT data.user_id
          var profile_image=data.user.profile_image; // NOT data.profile_image
          var post_count=data.post_count;
          var score=data.score;
          $("#listview").append(`
          <table>
          <tr>
          <td><img src="${profile_image}"></td>
          <td>
            UserID: ${user_id}<br/>
            Post Count: ${post_count}<br/>
            Score: ${score}
          </td>
          </tr>
          </table>
          `);
        });
      });
    </script>
</head>

<body>
    <div id="listview">

    </div>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...