因為非同步ajax的執行並不是按照正常的執行順序執行的所以一般的時候不饒要放在初始化方法裡面,否則可能導致頁面元素或者固定的值或者頁面元素或其他前面的js沒執行完就執行了這個方法,可能導致某些異常的情況或者控制導致報錯。
正確的做法是,一般不放在頁面初始化的方法裡面去,去過一定要在初始化方法裡面執行,那麼一定要學會善用setTimeOut定時器如下所示:
$(document).ready(function(){
//下面是一個正常的方法
init();
//下面是一個ajax非同步請求
initAjax();
});
假設init方法返回的值是後面initAjax方法需要用到的 ,那麼很有可能initAjax方法會缺少init方法返回的引數導致報錯,正確的做法如下
$(document).ready(function(){
//下面是一個正常的方法
init();
//下面是一個ajax非同步請求,使用定時器使其延遲500毫秒執行 給上面的init方法留出load時間
setTimeout("initAjax()",500);
});
這樣就可以正常執行這個頁面了複製程式碼