2011-06-27 148 views
5

我有一個jQuery的函數,爲PHP函數做一個$ .post值。這個php函數然後把這個值放在$ _SESSION中並顯示適當的內容。

我希望執行不會繼續,直到帖子完成,因爲$ .post顯示內容後,新的$ _SESSION值纔會生效,直到下一次刷新。

我該怎麼做?

謝謝!

+1

你想讓javascript或php在請求發送時暫停嗎? – matzahboy

+0

難道你只是重新加載頁面使用window.location? – Alfred

回答

0

這聽起來好像你可能正在做一個比完成你想要完成的任務所需的更復雜的代碼。如果客戶端(javascript)具有允許服務器(PHP)在頁面加載期間完成呈現頁面所需的數據,那麼客戶端(javascript)必須從服務器(PHP)獲得該數據。想像。所以如果服務器(PHP)在開始渲染頁面之前所需的數據,它應該在渲染前自己設置會話變量。

這scenaraio似乎沒有多大意義。這個頁面在加載過程中使用ajax發送給服務器的數據是什麼?您是否在頁面加載過程中以任何方式獲取用戶輸入,您需要將其發送回服務器以完成頁面呈現?我們可以看到任何代碼嗎?

1

這就是回調的目的。傳遞一個函數到$.post()參數之一,它會被執行,只有當請求成功:

$.post("test.php", function(data) { 
    alert("Data Loaded: " + data); 
}); 

document.write('This won`t wait for ajax'); 

Ajax請求結束只加載此代碼後會執行alert()一部分,但document.write()將執行直線距離,無需等待迴應。