2011-09-15 102 views
2

我從POST方法得到響應。 裏面我看到的值,但POST方法後返回一個空值。 爲什麼要修復此問題?jquery,POST方法的響應

樣本:

$.post('/news/add/', {parent: name, title: 'none'}, function(data){ 
new_id = data; 
alert(new_id); //11 
}); 
alert(new_id); //empty 
+5

。 –

+0

new_id在哪裏申報?或者你是不是用'var'聲明它? – StuperUser

+0

[爲什麼我的JavaScript函數沒有填充我的數組?](http://stackoverflow.com/questions/7377970/why-is-my-javascript-function-not-populating-my-array) –

回答

5

因爲你正在異步調用的代碼是按以下順序運行:

1 - $.post('/news/add/', {parent: name, title: 'none'}, function(data){ 
    3 - new_id = data; 
    4 - alert(new_id); //11 
}); 
2 - alert(new_id); //empty 

您只能使用您的文章的回調函數內返回的值。

唯一的另一種方法是使請求同步。但是這並不建議,因爲它可以鎖定等待響應的瀏覽器。