0

我正在尝试从 PHP 后端加载一些 JSON 数据,解析它们并div根据我收到的 JSON 数据填充一个。我想在窗口加载完成后立即执行此操作。现在我有这样的设置:

$(function(){
    $.getJSON("todo_action.php?getall=true", function(data){
        console.log(data);
    });
});

但是,这种方法行不通。但是在窗口加载完成后,我转到 Chrome 的开发者控制台并运行上面的代码,它就可以工作了。如果我错了,请纠正我,但我认为这不起作用,因为默认情况下所有 AJAX 请求都是异步的,它与 AJAX 的异步属性有关,对吧?

我尝试了 jQuery 内置 AJAX 函数的其他变体,get, load, ajax但无济于事。我也尝试过使用同步请求$.ajaxSetup({async: false});,但它仍然不起作用。

4

2 回答 2

3

你确定你不只是错过了一个结束);吗?

$(function(){
    $.getJSON("todo_action.php?getall=true", function(data){
        console.log(data);
    });
}); // <- here

它应该可以正常工作,我有一个示例 JsFiddle here

于 2013-06-22T21:39:52.757 回答
0

确保页面已完全加载。

$(window).load(function() {
 // executes when complete page is fully loaded, including all frames, objects and images
 $.getJSON("todo_action.php?getall=true", function(data){
        console.log(data);
    });
});
于 2013-06-22T21:39:37.307 回答