首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能在表中看到我的JSON数据?

为什么我不能在表中看到我的JSON数据?
EN

Stack Overflow用户
提问于 2017-05-30 02:19:07
回答 2查看 95关注 0票数 2

我写这个问题是因为我有一个我需要创建的站点,我唯一的问题是JSON。我在JSON中有这个url,但是当我尝试使用这个链接时,它会给我一个错误,您可以在我的问题中看到,但是当从url获取所有数据时,我会把它放在一个VAR中,这样我就不会得到错误,我会看到我的数据,但这不是应该发生的。

我的JSON遇到了这个问题,有些我无法在HTML页面上看到我的数据,我也找不到问题。

这里有我的HTML页面:

代码语言:javascript
复制
        <script src="https://code.jquery.com/jquery-3.2.1.min.js" type="text/javascript"></script>
        <script src="js/jquery-3,2,1.js" type="text/javascript"></script>
        <link href="css/bootstrap.min.css" rel="stylesheet">

    </head>

    <body>

        <div class="container-fluid">
            <table id="product_table" class="table table-responsive table-sm">
                <thead>
                    <tr>
                        <th>Product</th>
                        <th>Photo</th>
                        <th>Sizes</th>
                        <th>Price</th>
                        <th>Old Price</th>
                        <th>Delivery</th>
                    </tr>
                </thead>

                <tbody>

                </tbody>
            </table>

        </div>
            <script src="js/bootstrap.js"></script>
            <script src="js/npm.js"></script>
        </div>
    </body>

</html>

这里有我的两个脚本,我试用了第一个脚本,我尝试从url获取JSON,第二个脚本在我的pc上本地下载JSON

代码语言:javascript
复制
<!-- <script>
        var productJSON = "https://www.unisport.dk/api/sample/";
            $.getJSON(productJSON, function(data) {
                $.each(data.products, function(i,f){
                    var tblRow ="<tr>" + "<td>" + f.name + "</td>" + "<td>" + "<img class='img-responsive' alt='photo of product' src='" + f.image + "'>" + "</td>" + "<td>" + f.sizes + "</td>" + "<td>" + f.price + " "  + f.currency + "</td>" + "<td>" + "<s>" + f.price_old + " " + f.currency + "</s>" + "</td>" + "<td>" + f.delivery + "</td>" + "</tr>"
                     $(tblRow).appendTo("#products tbody");
            });
        });

    </script> -->

<script>
    $(document).ready(function(){
        $.getJSON("unisport.json", function(data){
            var product_data = '';
            $.each(data, function(key, value){
                product_data += '<tr>';
                product_data += '<td>'+value.name+'</td>';
                product_data += '<td><img scr="'+value.image+'"></td>';
                product_data += '<td>'+value.sizes+'</td>';
                product_data += '<td>'+value.price+' '+value.currency+'</td>';
                product_data += '<td>'+value.price_old+' '+value.currency+'</td>';
                product_data += '</tr>';
            });
            $('#product_table').append(product_data);
        });
    });    

</script>

数据是如何设置的:所有JSON数据都来自这个url:https://www.unisport.dk/api/sample/

代码语言:javascript
复制
{"is_customizable": "0", 
"delivery": "1-2 dage", 
"kids": "0", 
"name": "adidas Tr\u00e6ningsbukser Z.N.E. Road Trip - Gr\u00e5", 
"sizes": "XX-Large", 
"kid_adult": "0", 
"free_porto": "0", 
"image": "https://d2ij1pxeion66i.cloudfront.net/product/157128/010c01d20cac.jpg", 
"package": "0", 
"price": "399,00", 
"url": "https://www.unisport.dk/fodboldudstyr/adidas-trningsbukser-zne-road-trip-gra/157128/", 
"online": "1", 
"price_old": "799,00", 
"currency": "DKK", 
"img_url": "https://s3-eu-west-1.amazonaws.com/product-img/157128_maxi_0.jpg", 
"id": "157128", 
"women": "0"}, 

这是我在控制台中的错误消息:XMLHttpRequest无法加载

现在我的问题是,如果有一个问题,或者我错过了什么,我如何解决这个问题,为了使它正常工作,我也非常想通过URL获得数据,如第一个脚本所示

(在这个项目中,我也只使用jQuery、Bootstrap和HTML。)

编辑问题得到了修正,因为我是在我的个人电脑上做这个项目的,所以我不得不启动一个本地服务器,这让我完全忘记了。因此,如果其他人(如me )出现问题,请确保再次检查是否有本地服务器正在为项目运行。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-30 03:30:21

检查这个柱塞

代码语言:javascript
复制
 var unisport = [{
"is_customizable": "0", 
"delivery": "1-2 dage", 
"kids": "0", 
"name": "adidas Tr\u00e6ningsbukser Z.N.E. Road Trip - Gr\u00e5", 
"sizes": "XX-Large", 
"kid_adult": "0", 
"free_porto": "0", 
"image": "https://d2ij1pxeion66i.cloudfront.net/product/157128/010c01d20cac.jpg", 
"package": "0", 
"price": "399,00", 
"url": "https://www.unisport.dk/fodboldudstyr/adidas-trningsbukser-zne-road-trip-gra/157128/", 
"online": "1", 
"price_old": "799,00", 
"currency": "DKK", 
"img_url": "https://s3-eu-west-1.amazonaws.com/product-img/157128_maxi_0.jpg", 
"id": "157128", 
"women": "0"
},
{
"is_customizable": "0", 
"delivery": "1-2 dage", 
"kids": "0", 
"name": "adidas Tr\u00e6ningsbukser Z.N.E. Road Trip - Gr\u00e5", 
"sizes": "XX-Large", 
"kid_adult": "0", 
"free_porto": "0", 
"image": "https://d2ij1pxeion66i.cloudfront.net/product/157128/010c01d20cac.jpg", 
"package": "0", 
"price": "399,00", 
"url": "https://www.unisport.dk/fodboldudstyr/adidas-trningsbukser-zne-road-trip-gra/157128/", 
"online": "1", 
"price_old": "799,00", 
"currency": "DKK", 
"img_url": "https://s3-eu-west-1.amazonaws.com/product-img/157128_maxi_0.jpg", 
"id": "157128", 
"women": "0"
},
{
"is_customizable": "0", 
"delivery": "1-2 dage", 
"kids": "0", 
"name": "adidas Tr\u00e6ningsbukser Z.N.E. Road Trip - Gr\u00e5", 
"sizes": "XX-Large", 
"kid_adult": "0", 
"free_porto": "0", 
"image": "https://d2ij1pxeion66i.cloudfront.net/product/157128/010c01d20cac.jpg", 
"package": "0", 
"price": "399,00", 
"url": "https://www.unisport.dk/fodboldudstyr/adidas-trningsbukser-zne-road-trip-gra/157128/", 
"online": "1", 
"price_old": "799,00", 
"currency": "DKK", 
"img_url": "https://s3-eu-west-1.amazonaws.com/product-img/157128_maxi_0.jpg", 
"id": "157128", 
"women": "0"
}]
 
 

var product_data = '';
$.each(unisport, function(key, value){
                product_data += '<tr>';
                product_data += '<td>'+value.name+'</td>';
                product_data += '<td><img style="height:50px;width:50px;" src="'+value.image+'"></td>';
                product_data += '<td>'+value.sizes+'</td>';
                product_data += '<td>'+value.price+' '+value.currency+'</td>';
                product_data += '<td>'+value.price_old+' '+value.currency+'</td>';
                product_data += '<td>'+value.delivery+'</td>';
                product_data += '</tr>';
            });
            $('#product_table').append(product_data);
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
 <div class="container-fluid">
            <table id="product_table" class="table table-responsive table-sm">
                <thead>
                    <tr>
                        <th>Product</th>
                        <th>Photo</th>
                        <th>Sizes</th>
                        <th>Price</th>
                        <th>Old Price</th>
                        <th>Delivery</th>
                    </tr>
                </thead>

                <tbody>

                </tbody>
            </table>

        </div>

票数 0
EN

Stack Overflow用户

发布于 2017-05-30 02:52:43

你的剧本看上去不错。通过消除过程,$.getJSON("unisport.json", function(data) { ... } );调用必然会出现问题。您既不能从服务器获得JSON响应,也不能获得预期格式的JSON。

要么尝试console.log接收到的JSON响应以确认它是预期格式,要么检查调试器以查看$.getJSON是否引发了错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44252460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档