這裏是場景:我通過Web服務器從數據庫獲取數據。根據該數據頁面向同一服務器發送另一個請求以執行某些操作。簡化結構如下:使用jQuery從Web服務器獲取數據
var datacon;
$.post('method',function(data){
datacon = data;
// populating some tags;
}) // end of post
//some other staff happening;
$.post('other',{datacon}, function(env){
...// taking data from populated tags
$("div").load(env);
...
}) // end of post
每次用戶進入頁面時都會發生這種情況。在打開頁面時,此代碼不起作用,datacon爲空。但是,如果我將刷新一次或兩次,它就開始工作。第二個.post完美地工作,檢查了數百次。我用$ .get改變了第一個$ .post,但它沒有幫助。
可能它涉及異步/同步調用。我不明白爲什麼會發生。請幫忙。
p.s.服務器是CherryPy。
邁克,請您再解釋一下嗎?什麼是done()函數? – 2012-08-08 19:51:30
我相信Mike的建議可以通過將第二個POST移動到第一個POST的回調函數中來實現。 – ach 2012-08-08 20:07:31
邁克,你太棒了。它確實有效。 – 2012-08-09 07:33:20