离开页面时Ajax请求是否仍然完成?

Bre*_*ett 2 javascript php ajax xmlhttprequest

我有一种情况,我需要运行一些PHP,特别是我需要发送SOAP请求并等待响应,然后对此做一些事情,但有时这些请求可能很慢,最多需要9秒.

现在我真的不希望坐在那里的用户等待9秒才能完成.

基本上用户流程是......

  • 用户进入付款页面
  • 用户点击按钮通过支付网关(Paypal)付款
  • 用户然后返回到站点(SOAP请求以及在此阶段需要完成的所有操作)

我正在考虑使用Paypal IPN通知运行它,但后来认为它不会在用户返回网站时完成.

所以,我想知道当用户通过Ajax点击第一页并在用户提交付款时运行它时是否可以发出呼叫,当他们返回网站时应该完成 - 这不是如果他们最终没有通过付款,这是一个大问题,所以我不担心在确认付款之前运行此代码.

我的问题是,如果我通过AJAX运行它,如果用户在完成之前离开页面,代码是否仍会被执行?如果不是,任何想法?

Aru*_*hny 6

一旦请求被发送到服务器,无论您是否离开页面,请求的服务器端都将完成.

唯一不会发生的是执行客户端回调方法.