gpt4 book ai didi

javascript - $.getJSON() 在 IE9 中有效,但在 Chrome 和 FireFox 中无效,我的代码有什么问题?

转载 作者:行者123 更新时间:2023-11-29 10:22:42 25 4
gpt4 key购买 nike

我使用 IE9 和文本编辑器开发了一个网络应用程序。它读取一个 JSON 文件,然后根据该文件以及 JavaScript 和 jQuery 代码的逻辑填充一些 DIV 元素。在IE9下,完美运行。

在Chrome下,$.getJSON()语句执行失败,所以没有数据可用。在 FireFox 下,$.getJSON() 语句显然在运行(警告消息证明了这一点),但它没有读取任何内容。

JSON 文件通过 JSONLint。

Chrome 和 FireFox 均未指示任何错误。

我使用来自 JSON 站点的 JSON 数据创建了一个示例文件,通过 JSONLint 对其进行了验证,然后使用该文件运行我的代码。没有区别——Chrome 仍然忽略 $.getJSON() 语句。

我的代码的相关部分:

    function buildTree(centralID) {
alert("Can we start, at least?");
$.getJSON('sample.json', function(data) {
alert("first success");
$.each(data.person, function(i, xdata) {

Chrome 显示第一个警告但不显示第二个。

有什么想法吗?

最佳答案

您可以使用内置的错误函数来显示错误并进行调试。

$(document).ready(function(){ // Make sure your jQuery is inside this
$.getJSON("sample.json", function(data) {
alert('Point 1 Reached.');
console.log(data); // Here we log to our console
$.each(data.feed.entry, function(i, item) {
// Do your stuff here
}); // End of $.each

// Here Success, Completed & Error do something. chained onto $.getJSON
}).success(function() { alert("success"); })
.error(function(jqXHR, textStatus, errorThrown) { // Debug the error!!
console.log("error " + textStatus);
console.log("error throw " + errorThrown);
console.log("incoming Text " + jqXHR.responseText);
}) // End of .error
.complete(function() { alert("complete"); });
});
}); // End of DOM Ready

这应该会在 firefox 或 chrome 的控制台窗口中向您显示错误(console.log 将无法在 IE 中运行并破坏脚本)。要在 firefox 或 chrome 中调出控制台窗口,请按 F12。如果 JSON 不工作,它会显示一个错误,您可以调试。


更新
还要确保此代码在您的 $(document).ready() 中。如果以其他方式使用 $.getJSON() 可能会导致跨浏览器的意外行为。

关于javascript - $.getJSON() 在 IE9 中有效,但在 Chrome 和 FireFox 中无效,我的代码有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8371570/

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