javascript - 当我第二次调用它时,getJSON 不是一个函数
问题描述
这是我第一次使用jquery。我在这里面临的情况是我需要解析一些 JSON 文件,其 url 由另一个 JSON 文件给出。因此,我使用代码
var GlobalID = {};
function parseID() {
var data;
$.getJSON('https://taitk.org/api/algorithms', function(algorithms) {
GlobalID = algorithms;
console.log("ID got!");
parseKeyword();
});
}
function parseKeyword () {
for(var i = 0; i < GlobalID.length; i++) {
$.getJSON('https://taitk.org/api/algorithms/' + GlobalID[i].id, function(subdata) {
console.log(subdata.data)
});
}
}
,其中parseID()
是获取每个url的ID的parseKeyword()
函数,是打印出每个url的数据的函数(写在回调函数中,从而避免了异步函数调用)。
但是,我得到的错误是keyword.js:31 Uncaught TypeError: $.getJSON is not a function
消息“ID 得到了!” 打印成功。此外,当我删除parseKeyword()
函数时,代码工作正常,这让我感到困惑,因为第一次getJson()
调用似乎有效,而第二次调用无效。
我想弄清楚我面临什么样的情况会导致这样的错误,谢谢。
而且,下面是我如何在 html 文件中包含这些函数:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script></script>
<script src="js/keyword.js"></script>
<script type="text/javascript">
parseID()
</script>
解决方案
真正的原因是我在<body>
部分中包含了 jquery 的苗条版本以及问题描述中提到的版本。去掉之后,感觉还不错。
推荐阅读
- python - 在python中按组嵌套列表求和
- reactjs - Material-UI v5 中的 XGrid 在哪里?
- javascript - NextJs - 从 getStaticPaths 返回了其他键
- flutter - 在 Flutter 中滚动时如何在 SliverAppBar 中固定 TextField?
- c# - 线程安全进度计数器
- python - 从新的 Tkinter 窗口小部件调用变量
- java - WebDriverListener 'BeforeClick' 不包含驱动程序
- django - 从消息列表中检查用户是否喜欢 msg
- apache-spark - Spark shuffle 数据到更少的执行者
- java - 我在带有 Bundle 和 ArrayList 的 android studio 中出现错误