2012-12-27 122 views
0

想象一下這樣的情景:Ajax和會話變量

  1. 我有火災了一個JavaScript函數(中有一個Ajax請求)的鏈接。

  2. JavaScript函數有一個由鏈接的onclick ='jsFunction(param)'傳遞的參數。

  3. JavaScript函數將參數值發送到控制器中的函數中,該函數將參數值設置爲會話變量。

  4. 控制器中的函數會將會話變量的新值發送回JavaScript函數的Ajax請求。

  5. 當數據到達Ajax請求時,將使用傳遞的數據調用另一個函數。

問:

因爲我說的會話變量的值傳遞給一個Ajax請求,將數據從鏈接我怎麼可以處理來進行實時的第二個功能?我想在這裏發佈代碼,但對於我只需要的信息來說太冗長了。

我的代碼的當前狀態是,我無法獲取正確/最新的數據。相反,我從之前點擊的鏈接中獲得以前的數據。

如果第一個函數完成處理最新數據,是否有Ajax功能,我只能進入下一個功能?

任何幫助將不勝感激。

回答

2

您可以使用任何jQuery AJAX方法的回調來延遲執行另一個函數,直到請求完成。

$.post('/some/url', somedata, function(returnData) { 
     // put the code you want to execute on completion here 
    }); 

或者如果您已經定義了你的函數返回的數據之後調用,你可以這樣寫:

$.post('/some/url', somedata, processData); 
+0

我想補充的唯一的事情,是要確保你提供參數爲你的回調函數。函數(iAmReturnData){} – TheBrent

+0

感謝它的工作 –