[英]Strange behaviour with an ajax callback function
當嘗試從ajax回調函數設置變量時,我得到了不可預測的結果:
var logged_in=false;
function check_response(response,el) {
logged_in=true;
alert(logged_in); //outputs TRUE
}
makePOSTRequest("/is_logged.php", check_response); //when ready call check_response() with the XML response
alert(logged_in); //first time outputs FALSE;
alert(logged_in); //second time outputs TRUE;
您知道為什么會發生這種奇怪的行為嗎?
因為“ makePOSTRequest”是異步的,所以該方法之后的第一個“警報”顯示為“ false”,因為這是之前設置的變量的默認值,並且在您調用alert時,實際上是在“阻止”第二個警報的執行到那時,請求完成,並且“ logged_in”設置為true。
當傳遞0或1代替true或false時,問題是否相同?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.