需要从JSON文件

时间:2018-01-04 17:06:05

标签: javascript html json getjson

我需要从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>

2 个答案:

答案 0 :(得分: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/>")
           })
       }
   }
});

答案 1 :(得分:0)

提供给成功回调的data参数是一个Object,其result属性是一个对象数组。

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

success: function(data){
    $.each(data.results, function(index, object){
        $("body").append("<div>"+object.name +"</div><br/>")
    })
}