2010-09-06 153 views
0

我正在開發一個在後臺使用jquery和post方法的cakephp應用程序。jQuery速度太快(比mysql快)

當cakephp在後臺發送post請求時,div必須刷新(或重新生成),並且必須顯示新內容。

Post方法調用執行MySQL查詢的其他php文件。該div也調用mysql,並從數據庫中選擇適當的數據。

問題是div在第一次mysql查詢之前被刷新(或重新生成)。所以它工作正常,但我怎麼能告訴該div「等待」一下,直到mysql查詢被執行?

這裏是我的代碼...

$.post('/publications/deleteItem/' + valueClicked, function(data) { 
}, 'html'); 

$.post('/publications/getItems/' + val + '/' + val1, function(data) { 
    $("#relatedNumerationPublications").empty().append(data); 
}, 'html'); 

UPDATE: 確定,所以,我得在哪裏的問題。像阿赫亞沙斯特里以下建議,tryed用:

$.post('/publications/deleteItem/' + valueClicked, function() { 
    $.post('/publications/getItems/' + val + '/' + val1, function(data) { 
     $("#relatedNumerationPublications").empty().append(data); 
    }, 'html'); 
}, 'html'); 

問題是起因響應爲 '/出版物/ deleteItem /' + valueClicked是未找到網頁。猜猜這是cakephp的原因(實際上,該頁面存在,但cakephp返回它不是)。

是否有可能以某種方式跳過錯誤「頁面未找到」,並繼續使用代碼?

+1

發佈你的當前代碼來清除東西:) – 2010-09-06 20:35:02

+2

這聽起來像你不正當地試圖返回的東西,而不是依靠回調。看到這裏:http://stackoverflow.com/questions/3619888/jquery-ajax-request-inside-a-function-how-to-return-the-value-i-got/3619986#3619986和在這裏:http:/ /stackoverflow.com/questions/3537434/cant-get-correct-return-value-from-an-jquery-ajax-call。 – 2010-09-06 20:46:38

+0

您是否有查看delete_ite.ctp用於返回json或直接從控制器返回?從你的文章中,我認爲你錯過了視圖,因此cakePHP將顯示錯誤。 – dqminh 2010-09-07 03:16:31

回答

2

你在哪裏把你的regenerate功能?

我認爲這應該是好的,如果你把它放在你的onSuccess回調函數。

2

Ajax調用是(根據定義)是異步的,所以如果你只是在ajax調用之後放置下一個javascript指令,你總會遇到這個問題。如上所述,使用onSuccess參數或同步ajax調用(我記得jquery提供了類似的東西)。

+1

你可以做同步ajax請求,但他們鎖定瀏覽器,所以不鼓勵。 – Douglas 2010-09-06 20:52:52

0

您可以在第一次SQL操作完成後經常進行Ajax輪詢。只有在您從PHP返回一個新的投票價值後,才能進行再生。

+0

你可以檢查我的代碼,並幫助我如何實現。這是兩個郵政電話.. – user198003 2010-09-06 21:57:09

0

只需撥打電話即可獲取刪除項目功能回調中的項目。像這樣的東西 -

$.post('/publications/deleteItem/' + valueClicked, function() { 
    $.post('/publications/getItems/' + val + '/' + val1, function(data) { 
     $("#relatedNumerationPublications").empty().append(data); 
    }, 'html'); 
}, 'html'); 

現在,您的getItems將一直等到deleteItems結束。 (假設你沒有使用異步後端技術!)

+0

你可以檢查我原來的帖子的最後更新? TNX! – user198003 2010-09-06 22:31:03