在window.onload上使用AJAX加载内容

时间:2013-06-22 21:30:58

标签: javascript jquery asynchronous

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

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

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

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

2 个答案:

答案 0 :(得分:3)

您确定不会错过结束);吗?

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

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

答案 1 :(得分: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);
    });
});