2012-05-28 64 views
0
$.post("general.php", {/* some values */}, function(data){var id = data;}); 
alert(id); 

問題是,警報是空的。知道任何人爲什麼?以及如何解決它?謝謝。

回答

6

有2個問題:

  • 之一是,AJAX是異步和警報的Ajax回調,其中id變量被設定

  • 第二個是,之前執行變量不是全局的,它只在回調範圍內可見

所以,我建議你聲明變量global(如果你需要的話供以後使用):

var id;// in the global scope 

window.id = ''; 

而且你應該在回調執行的邏輯:

$.post("general.php", {/* some values */}, function(data){ 
    window.id = data; 
    alert(data); 
}); 
+0

是的,你說得對。但還有一個問題。如果您第一次運行此代碼,則不起作用。第二次運作。這是第一個問題。如何解決它? – M1K1O

+0

它應該也是第一次工作。你可以從你的代碼中弄出一個小提琴嗎? –

+0

我無法制作小提琴,因爲需要加載另一個文件。我認爲這也應該是第一次工作,但是我可能有其他簡單的錯誤。 – M1K1O