Jquery 为什么$getJSON不在回调中执行代码?
我有以下JQuery:Jquery 为什么$getJSON不在回调中执行代码?,jquery,getjson,Jquery,Getjson,我有以下JQuery: <script> $(document).ready(init); function init() { console.log('before'); $.getJSON('data.txt', function(data) { console.log('inside'); alert(data);
<script>
$(document).ready(init);
function init() {
console.log('before');
$.getJSON('data.txt', function(data) {
console.log('inside');
alert(data);
});
console.log('after');
}
</script>
但在控制台窗口中,我只得到:
before
after
为什么回调中的代码没有执行
补遗
@newman,在Chrome的“我的网络”选项卡中,下面是data.txt文件:
增编2
在Firefox中,它表示在“之前”和“之后”之间读取,但从不将“内部”打印到控制台或执行警报
看起来它正在悄无声息地失败。data.txt的内容不是格式良好的JSON。应该是:
{
"one":"111",
"two":"222",
"three":"333"
}
如果找到data.txt并返回其内容并成功解析,则应进入控制台:
before
after
inside
看起来它正在悄无声息地失败。data.txt的内容不是格式良好的JSON。应该是:
{
"one":"111",
"two":"222",
"three":"333"
}
如果找到data.txt并返回其内容并成功解析,则应进入控制台:
before
after
inside
可能是脚本正在您期望的其他文件夹中查找data.txt。检查FireBug中的“网络”或“控制台”选项卡,运行什么请求以获得正确的url。@newman如上所述,它似乎正在加载该文件,或者至少可以识别它与index.html位于同一目录中,可能是脚本在您期望的其他文件夹中查找data.txt。检查FireBug中的“网络”或“控制台”选项卡,运行什么请求以获得正确的url。@纽曼如上所述,它似乎正在加载该文件,或者至少可以识别它与index.html位于同一目录中。在firefox中,它说它正在读取该文件,请参见上文,这很奇怪。JSON是否需要采用不同的格式。我也将文件格式更改为UTF-8,没有更改。@EdwardTanguay-您是否根据我的建议更改了文件内容?在firefox中,它说它正在读取文件,请参见上文,这很奇怪。JSON是否需要采用不同的格式。我也将文件格式更改为UTF-8,没有更改。@EdwardTanguay-您是否根据我的建议更改了文件内容?