gpt4 book ai didi

javascript - JSON 解析怪异 - 损坏还是速度慢?

转载 作者:行者123 更新时间:2023-11-28 21:26:49 30 4
gpt4 key购买 nike

在 jQuery 中,解析一堆点以在 HTML5 Canvas 上绘制。遇到了一个奇怪的错误 - 但我对此领域的知识非常有限,所以也许有一个很好的解释。

这每次都有效:

var json = $.getJSON( "../models/" + id + ".json");

alert("fjkld");

paths = JSON.parse(json.responseText);

每次都会失败:

var json = $.getJSON( "../models/" + id + ".json");

paths = JSON.parse(json.responseText);

有人知道为什么吗?是因为解析器“ catch ”时警报暂停了某些内容吗?这对我来说没有直观意义,但这是唯一的解释。

实际上我知道这是正确的,因为如果我非常快地点击警报上的“确定”,它会再次失败。

有人可以向我解释一下为什么会发生这种情况吗?

最佳答案

getJSON异步。这意味着它会在 XMLHTTPRequest 完成之前立即返回。因为 alert 是一个阻塞函数,所以所有代码都会停止,直到您按“确定”。如果您需要一段时间,请求已完成,因此 responseText 可用;如果 alert 不存在,或者您很快按下“确定”,则 HTTP 请求尚未完成,因此文本尚未完成。

您需要使用回调函数:这是一个在 AJAX 请求完成时将执行的函数:

$.getJSON( "../models/" + id + ".json", function(paths) {
// access paths here
});

See the documentation for $.getJSON .

关于javascript - JSON 解析怪异 - 损坏还是速度慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4823105/

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