首页 > 解决方案 > 如何从 jQuery 中的外部文件获取 JSON 数据并确保在脚本的其余部分之前加载数据

问题描述

我正在尝试从 .json 文件(本地托管到脚本)中提取 JSON 对象并将数据保存为变量。目前,我正在使用 jQuery 的$.getJson()函数,它工作正常,我只想确保在完成脚本的其余部分之前加载 JSON 数据,因为某些函数依赖它。

有任何想法吗?

标签: jqueryjsongetjson

解决方案


请参阅有关getJson的文档

如果你想让它运行而其他部分应该等待,你可以设置 'asysn' : false 但这不是一个好主意,因为 ajax 之后的代码会等到它完成。

或者

// check the meaning of done, fail, always
    $.getJSON( "url", function() {
    
    }).done(function(){
    
        // your rest of the code
        
    });

或者您可以尝试自定义触发事件

$(function(){

    $.getJSON( "url", function() {

    }).done(function(){
        $( document ).trigger( "jsonSuccess", [ "bim", "baz" ] );
    });

    $( document ).on( "jsonSuccess",function(event, var1, var2){
        // will execute after the 'getJSON' success 
    });
    
    // other codes can be execute from here, it will not wait

});

推荐阅读