2012-01-21 202 views
-1
$check = ""; 

    $.ajax({ 
     url: "check.php", 
     type: "POST", 
     cache: false, 
     data: $name + "=" + $value, 
     success: function(data){ 
      $check = data; 
      alert($check); 
     } 
    }); 

    alert($check); 

第味精是「你好」全局變量不改變

第二味精「」爲什麼呢?

+1

當您提醒您的$chek局部值的你POST請求返回單詞Hello說「第一」和「第二」是你在談論時間序列還是代碼行序列?它有很大的不同。在上面的代碼中,按照時間順序,第一條消息應該是空的,後面的一條應該是在你的ajax調用返回時,第二條消息應該是「Hello」。 –

+0

此代碼執行一次。 – faressoft

+0

代碼行序列 – faressoft

回答

6

$.ajax是一個異步函數,它會立即返回並在收到成功響應時調用success回調。

因此,當您的代碼底部的alert($check)被執行時,$check的值還沒有被ajax的回調修改。這就是爲什麼你看到空字符串。

1

jquery ajax功能默認是異步的。所以執行劑量等待函數值返回。所以mayb因爲你在本地開發服務器上工作。和AJAX POST請求是快,你在響應所以第一個警告消息是「你好」
,然後繼續執行,並再次返回