我有一种情况需要运行一些PHP,特别是在我需要发送SOAP请求并等待响应的情况下,然后对此做一些事情,但有时这些请求可能很慢并且最多需要9秒。
现在我真的不希望坐在那里的用户等待9秒才能完成。
基本上用户流程是..
我正在考虑使用Paypal IPN通知运行它,但后来认为在用户返回网站时它不会完成。
所以,我想知道当用户通过Ajax点击第一页并在用户提交付款时运行它时是否可以发出呼叫,当他们返回网站时应该完成 - - 如果他们最终没有付款,这不是什么大问题,所以我不担心在确认付款之前运行此代码。
我的问题是,如果我通过AJAX运行它,如果用户在完成之前离开页面,代码是否仍会被执行?如果没有,任何想法?
答案 0 :(得分:6)
一旦请求被发送到服务器,无论您是否离开页面,请求的服务器端都将完成。
唯一不会发生的是执行客户端回调方法。
答案 1 :(得分:2)
如果您使用的是php,则会有一个php.ini设置ignore_user_abort
告诉php当客户端中止请求时该怎么做。
默认情况下,其值为false。
http://www.php.net/manual/en/misc.configuration.php#ini.ignore-user-abort