需要从JSON文件中获取名称数据

问题描述 投票:0回答:2

我需要从JSON文件中获取此代码的错误名称?我想从每个结果中获取名称值并将它们添加到正文中。

        <!DOCTYPE html>
        <html>
            <head>
                <script src="https://code.jquery.com/jquery-3.2.1.js" integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE="crossorigin="anonymous"></script>
                <script>
                    $.ajax({ 
                   type: "GET",
                   dataType: "json",
                   url: "https://wger.de/api/v2/exercise.json?category=8&language=2",
                   success: function(data){
                       $.each(data,function(index,object){
                           $("body").append("<div>"+object.name +"</div><br/>")
                       })
                   }
                });
                </script>

            </head>

            <body>

            </body>
        </html>
javascript html json getjson
2个回答
3
投票

唯一的问题是你使用错误的对象进行迭代。

如果您运行此代码段,则可以在控制台上看到返回的对象。

$.ajax({ 
   type: "GET",
   dataType: "json",
   url: "https://wger.de/api/v2/exercise.json?category=8&language=2",
   success: function(data){
       console.log(data)
   }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

如你所见,你需要迭代data.results,所以这段代码应该工作:

$.ajax({ 
   type: "GET",
   dataType: "json",
   url: "https://wger.de/api/v2/exercise.json?category=8&language=2",
   success: function(data){
       if(data.results){
           $.each(data.results,function(index,object){
               $("body").append("<div>"+object.name +"</div><br/>")
           })
       }
   }
});

0
投票

提供给成功回调的data参数作为一个Object,带有一个结果属性,它是一个对象数组。

而不是将整个data对象传递给$ .each,你应该像它一样给它结果数组:

success: function(data){
    $.each(data.results, function(index, object){
        $("body").append("<div>"+object.name +"</div><br/>")
    })
}
© www.soinside.com 2019 - 2024. All rights reserved.