首页 > 解决方案 > jquery $document.ready 是否等待加载 json 文件?

问题描述

我从 json 文件中获取 HTML 配置数据。加载后,我需要确保文档已准备好,然后再将 HTML 插入现有元素。

    var cfg;
    function getJSONconfigdata() {
        $.getJSON("/quizdata.json", function (json) {
            cfg = json;          
            //Now do everything else
            init();
        });
    }
    getJSONconfigdata()

    function init(){
        //Plug cfg values into existing dom elements. but they may not exist yet.
        //...
    }

init() 在 json 文件被解析后被调用,但是我如何确保 dom 也准备好了?我试过 $(function (){ init(); }); 但不能让它工作 - 它似乎在加载 json 之前触发。

标签: javascriptjqueryjsondocument-ready

解决方案


是的,$(document).ready()当 DOM 为 JS 准备好时运行。当许多人使用 jQuery 时,他们会将与页面元素交互的所有代码放在$(document).ready()语句中以确保这一点。所以

$( document ).ready(function() {
    var cfg;
    function getJSONconfigdata() {
        $.getJSON("/quizdata.json", function (json) {
            cfg = json;          
            //Now do everything else
            init();
        });
    }
    getJSONconfigdata()
});

推荐阅读