gpt4 book ai didi

javascript - getJSON 未获取数据

转载 作者:行者123 更新时间:2023-11-28 15:22:35 25 4
gpt4 key购买 nike

我下面的代码没有从 data.js 获取数据当 JSON 数据硬编码到页面中时,页面工作正常。

<head>
<title>Test Page</title>
<script>
function jsontest() {
var text;
$.getJSON("data.js", function(result) {
text = result;
});
var obj = JSON.parse(text);
document.getElementById("content").innerHTML =
obj.name + "<br>" +
obj.street + "<br>" +
obj.phone;
}
</script>
</head>
<body onload="jsontest();">
<h1>Testing Page</h1>
<p id="content"></p>
</body>

我的数据如下所示

{"name":"John Johnson","street":"Oslo West 16","phone":"555 1234567"}

我犯了一个简单的菜鸟错误吗?

最佳答案

我注意到的第一件事是您在同步模式下使用 getJSON。这将不起作用,因为它是异步执行的。您需要将逻辑放在完成处理程序中

function jsontest() {
var text;
$.getJSON("data.js", function(result) {
text = result;
var obj = JSON.parse(text);
document.getElementById("content").innerHTML =
obj.name + "<br>" +
obj.street + "<br>" +
obj.phone;
});
}

在你的代码中,当你这样做的时候

var obj = JSON.parse(text);

方法getJSon尚未返回,因此text包含默认值。它将请求发送到服务器并继续方法流程而不等待结果。

这就是处理程序的用途:放置请求完成时需要执行的逻辑。

关于javascript - getJSON 未获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30630261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com