2011-05-08 53 views
0

我正在使用ajax(jquery)將項目發佈到我的數據庫。
它發佈到數據庫之前我的腳本檢查是否有一些東西,例如: 首先,它檢查一切是否符合我給出的規則,第二個檢查提交的圖片是否已經存在於數據庫中,第三個檢查是否通過計算similar_text到同一日期的項目有重複。Ajax多重響應 - 進行時報告

我想知道我怎麼能每次報告PHP回聲,而不僅僅是在最後。

我會知道在哪一步我是因爲第一個回聲將是「1」,第二個將是「2」,第三個將是「3」(1,12,123回聲追加文本)。

謝謝。

回答

1

您描述它的方式是不可能的。如果你想要多個回覆,你需要多個請求。你不能有一個Ajax調用返回多個響應。

但是,您可以將其分解爲多個請求。首先發送一個ajax請求來檢查驗證規則,第二個發現它是否已經存在,等等。然後你可以讓每個回調調用下一個鏈中的ajax請求。

+0

我的第一個想法是分割代碼,所以我會有多個電話。我只是想確定沒有其他辦法。謝謝。 – Ron 2011-05-08 21:31:39

0

您只需要在您的頁面中有一個<div>,您可以在其中.append回調每個AJAX帖子的.success()當前進度。

<div id="progress"> 

$.ajax(call1).success(function(resp) { 
    // do something with resp 
    $('#progress').append('step 1 done<br/>'); 

    $.ajax(call2).success(function(resp) { 
     // do something with resp 
     $('#progress').append('step 2 done<br/>'); 
    } 

etc... 
+0

在你的方式,我需要每次打電話給頁面,但我不應該這樣做......在一個電話中,我得到所有三個答覆.. – Ron 2011-05-08 08:34:23

+0

啊,這是完全不清楚你的問題文本。你的意思是在你的_PHP_腳本中你做了三件事情? – Alnitak 2011-05-08 08:57:00

+0

是的。如果不清楚,我很抱歉。 – Ron 2011-05-08 09:21:51