在ajax調用期間發送電子郵件需要花費大量時間。 是否可以在後臺發送電子郵件並立即向用戶返回HTTP響應。PHP郵件功能花費太多時間導致頁面加載時間增加,
0
A
回答
0
這可能更像是一個服務器問題。這取決於你如何配置PHP。
它可能禁止使用本地SMTP服務器,該服務器將對電子郵件進行後臺處理,直到其到達目的地。如果您在多臺服務器上使用相同的代碼,Swiftmailer可能會幫助您從腳本而不是php.ini中配置此代碼
0
如果您使用的是AJAX,則它已在後臺工作。 AJAX是異步的,所以它發送數據並繼續做其他事情。然後,當服務器報告請求狀態改變時,你的AJAX可以做出相應的反應。
如果您要讓用戶確認電子郵件正在發送,您可以在AJAX呼叫後立即執行此操作。這樣,代碼會將請求發送到服務器,然後立即顯示確認。
如果您想要確認電子郵件已發送,您必須等待,直到它已發送。實際上有響應之前,您不能顯示服務器響應。除非你做錯了什麼(我們不能在沒有看到你的代碼的情況下確定),AJAX應該立即處理響應。因此,加速這一過程的唯一方法是實施更高效/更快的郵件系統。
0
考慮使用:
即使這個問題可以幫助你:PHP fork process - getting child output in parent
所以,你發送電子郵件的功能可以駐留在一些PHP文件。這個php文件應該使用fork
或exec
來執行。
相關問題
- 1. 花費更多時間加載頁面
- 2. Java applet花費太多時間加載
- 3. DOMDocument()花費太多時間來加載頁面
- 4. 花費太多時間來加載頁面?
- 5. 花費太長時間來加載頁面與HttpWebResponse
- 6. 外部php頁面花費太多時間來解析和加載javascript
- 7. 頁面裝載花費過多時間
- 8. 熊貓功能花費時間太長
- 9. WebRequest.GetResponse()花費太多時間
- 10. WinForms控件花費太長時間才能加載
- 11. 頁面加載花費很多時間asp.net
- 12. 在Internet Explorer(IE)中,JSP/HTML頁面加載/呈現花費了太多時間
- 13. 引導選擇加載在IE中花費太長時間
- 14. 添加django-debug-toolbar後頁面花費很長時間加載
- 15. 花費太多時間來預先加載資產?
- 16. 視圖部分花費太多時間來加載
- 17. UIWebview花費太多時間在iOS 7中加載html內容
- 18. 花費太多時間在vb.net中加載應用程序
- 19. JQuery代碼需要花費太多時間加載
- 20. Glide Imgae加載需要花費太多時間在recyclerview android
- 21. Viewholder花費太多的時間來加載列表視圖
- 22. 花費太多時間來加載Extjs4中的TreeGrid
- 23. Tomcat 7.0.34:花費太多時間加載。操作URL
- 24. Xcode 9花費太多時間來加載應用程序
- 25. 佈局花費太多的時間來加載android
- 26. 增加花費時間在C#
- 27. 增加頁面加載時間
- 28. 頁面加載時間的ErrorDocument增加
- 29. 致電WebRequest.GetSystemWebProxy花費太長時間
- 30. actionscript2 loadMovie()花費太長時間來加載外部文件
我在一次通話中進行多項操作,包括髮送電子郵件。 所以我的頁面正在等待模式,直到ajax調用完成。 –
@ user2768394好吧,如果我正確理解這一點,你的PHP腳本做了很多,你想先返回結果,然後發送電子郵件。顯然,這是不可能的,因爲這[post](http://stackoverflow.com/questions/293389/execute-code-after-http-request-is-complete-in-php)建議。但是,您可以爲電子郵件發送執行單獨的腳本,並在第一次請求後向其發送請求。如果您需要第一個值,您可以a)使用第一個請求返回它們,然後使用第二個請求發送它們,或者b)將它們緩存在服務器上的文件中或b2)在數據庫中緩存。 – scenia
爲了減少ajax調用的次數,我正在同時進行多個操作。 –