在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调用的次数,我正在同时进行多个操作。 –