271
汽車大全
ajax回調函數執行順序帶來的同步異步問題
我們來看這樣一段代碼:
$(function(){
var a =0;
$.getJSON(
"student_toadd",
{stunum:10},
function(json,status)
{
$.each(json,function(i){
$('#stuDiv').append("<div>學生學號:"+json[i].num+"</div>" );
}
.........................................
a = 10;
});
}
)
alert(a);
});
你說說看彈出的a是多少?
我說:有可能是10,有可能是0。
因為ajax的執行是異步的,有可能回調函數還沒有拿到返回值,就彈出a了。
解決辦法
var a = 0;
$.ajax({
type: "get",
dataType: "json",
async: false // 異步為false
url: "student_toadd",
data:{stunum:10},
success:function(json,status)
{
$.each(json,function(i){
$('#stuDiv').append("<div>學生學號:"+json[i].num+"</div>" );
}
.........................................
a = 10;
);
});
alert(a);
這表示將$.ajax拿到返回值後,在執行後麵的js。這樣a就是10了。這樣有什麼啟發呢?比如我們需要等到返回值在頁麵繪製一些元素,如果是異步的話,有可能繪製出來的東西是空的。
最後更新:2017-04-02 22:16:26
上一篇:
ajax回調函數執行順序帶來的同步異步問題
下一篇:
MongoVUE 15天試用期解決辦法
Java的EE框架的輕量級和重量級
阿裏雲丨以AI助力電力產業變革,創造有為時代——訪阿裏雲人工智能科學家閔萬裏
Java Date Time 教程-java.util.Date
[WCF REST] Web消息主體風格(Message Body Style)
《數據結構與抽象:Java語言描述(原書第4版)》一2.1.7 刪除項的方法
「阿裏巴巴編碼規範(Java版)」認證考試出爐!你考過了嗎?
墨菲定律:一個參數Drop_caches導致集群數據庫實例崩潰
(cljs/run-at (JSVM. :browser) "命名空間就這麼簡單")
Storm Topology的並發度
刷榜源頭魚死網破 中國區AppStore排行榜遭血洗