gpt4 book ai didi

javascript - JSON 调用给出的值实际上不在 .json 文件中

转载 作者:行者123 更新时间:2023-11-27 22:42:32 26 4
gpt4 key购买 nike

我对 JSON 和 Javascript 有点陌生,所以如果这是一个愚蠢的问题,请原谅我,但我遇到了一个开始让我发疯的问题。

在网页上我包含两个脚本; jQuery 和一个名为“scripts2.js”的文件。在与scripts2.js相同的目录中,我有一个JSON文件; “设置.json”。在我的“scripts2.js”文件中,我正在函数内运行以下代码。

var settingsPath = settings.json;

jQuery.getJSON(settingsPath, function (data){
jQuery.each(data, function(index){
console.log("!"+data[index].name);
/*unrelated other stuff */


});
});
以前的 settings.json 文件看起来像这样

[
{"name":"Standard Black"},
{"name":"Gold"},
{"name":"Silver"}
]

很自然地,当我查看 Chrome 开发控制台时,日志会打印出来

!标准黑色

!黄金

!银色

但是,在测试编辑 settings.json 文件时会发生什么情况时,我将“name”:“Gold”更改为“name”:“Test”。

[
{"name":"Standard Black"},
{"name":"Test"},
{"name":"Silver"}
]
json 更新后,我尝试刷新页面,但我的控制台日志仍在打印

!标准黑色

!黄金

!银色

...

我很茫然。我不知道为什么即使在保存更改后,使用 jQuery.getJSON() 检索的数据也会发送旧的 settings.json 的数据。我仔细阅读了我的 .php 文件(它正在生成 HTML),以及我包含的 javascript,并且没有提到另一个 json 文件或任何相关目录中我的 json 文件的任何类型的克隆。我真的不知道发生了什么,我开始发疯。有谁知道问题可能是什么?

我不知道这是否重要,但我正在本地主机上运行 XAMPP 堆栈。所有文件(index.php、scripts2.js 和 settings.json)都位于 XAMPP 的 htdocs 文件夹内的目录中。

编辑:感谢大家快速而彻底的回答,你们中的许多人回答了我接下来要问的问题。我真的很感激!

最佳答案

这是因为浏览器正在缓存您的第一个请求中的文件。只需清除缓存并再次运行即可检索新数据。

更新:

要防止浏览器缓存此文件,请更改 AJAX 设置,如下所示:

jQuery.ajaxSetup({ cache: false });

在进行 getJSON 调用之前

关于javascript - JSON 调用给出的值实际上不在 .json 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38642194/

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