【问题标题】:JSON Data Not Showing With JqueryJquery 不显示 JSON 数据
【发布时间】:2021-09-28 02:59:39
【问题描述】:

我正在学习 JSON,但无法显示来自端点的数据。第一段代码对我来说很好用。

<!DOCTYPE html>
<html lang="en">
<head>
    <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
</head>

<body>
    <div class="mypanel"></div>

    <script>
    $.getJSON('http://time.jsontest.com', function(data) {
        
        var text = `Date: ${data.date}<br>
                    Time: ${data.time}<br>
                    Unix time: ${data.milliseconds_since_epoch}`
                    
        
        $(".mypanel").html(text);
    });
    </script>
</body>
</html>

将脚本更改为此端点不会显示任何数据。如何显示这些数据?

<script>
    $.getJSON('https://www.halowaypoint.com/en-us/games/halo-the-master-chief-collection/xbox-one/game-history?gamertags=ice%20cold%20bepsi&gameVariant=all&view=DataOnly', function(data) {
        var text = `Gamertag: ${data[0].Gamertag}`
                    
        $(".mypanel").html(text);
    });
</script>

【问题讨论】:

  • 检查data[0]是否存在。你能console.log(data)
  • “...不显示任何数据” - 它显示什么?
  • 如果我将第二个网址直接粘贴到浏览器中,它会要求我进行身份验证。这意味着,您需要在请求中提供访问令牌/授权码

标签: javascript jquery json


【解决方案1】:

调查一下,您似乎需要进行身份验证才能获取此数据。如果没有返回 json,则回调将不会运行。这就是为什么如果你在回调中放任何东西,即使是console.log("HERE"),它也不会到达。

如果要进行身份验证,则需要执行 ajax 请求。无论如何,$.getJSON 只是 $.ajax 的包装。

【讨论】:

  • 谢谢!我忽略了这一点,因为我在浏览器中访问链接时已经通过了身份验证。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多