2014-01-15 55 views

回答

0

這可能更像是一個服務器問題。這取決於你如何配置PHP。

它可能禁止使用本地SMTP服務器,該服務器將對電子郵件進行後臺處理,直到其到達目的地。如果您在多臺服務器上使用相同的代碼,Swiftmailer可能會幫助您從腳本而不是php.ini中配置此代碼

0

如果您使用的是AJAX,則它已在後臺工作。 AJAX是異步的,所以它發送數據並繼續做其他事情。然後,當服務器報告請求狀態改變時,你的AJAX可以做出相應的反應。

如果您要讓用戶確認電子郵件正在發送,您可以在AJAX呼叫後立即執行此操作。這樣,代碼會將請求發送到服務器,然後立即顯示確認。

如果您想要確認電子郵件已發送,您必須等待,直到它已發送。實際上有響應之前,您不能顯示服務器響應。除非你做錯了什麼(我們不能在沒有看到你的代碼的情況下確定),AJAX應該立即處理響應。因此,加速這一過程的唯一方法是實施更高效/更快的郵件系統。

+0

我在一次通話中進行多項操作,包括髮送電子郵件。 所以我的頁面正在等待模式,直到ajax調用完成。 –

+0

@ user2768394好吧,如果我正確理解這一點,你的PHP腳本做了很多,你想先返回結果,然後發送電子郵件。顯然,這是不可能的,因爲這[post](http://stackoverflow.com/questions/293389/execute-code-after-http-request-is-complete-in-php)建議。但是,您可以爲電子郵件發送執行單獨的腳本,並在第一次請求後向其發送請求。如果您需要第一個值,您可以a)使用第一個請求返回它們,然後使用第二個請求發送它們,或者b)將它們緩存在服務器上的文件中或b2)在數據庫中緩存。 – scenia

+0

爲了減少ajax調用的次數,我正在同時進行多個操作。 –

相關問題