2013-05-13 22 views
2

我有一種情況,我需要運行一些PHP,特別是在需要發送SOAP請求並等待響應的情況下,然後執行某些操作,但有時這些請求可能會很慢,最多需要9秒。離開頁面時Ajax請求仍然完成嗎?

現在我不想讓用戶坐在那裏等待9秒鐘完成。

基本上用戶流量..

  • 用戶涉及到支付頁面
  • 用戶點擊按鈕,通過支付網關支付寶(PayPal)
  • 用戶,然後返回到該網站(SOAP請求和所有這需要在這個階段完成)

我想運行它與貝寶IPN通知,但後來並沒有想到它會在用戶回到該網站時完成。

所以,我想知道當用戶通過Ajax打開第一頁時是否可以發出呼叫,並在用戶提交付款時運行,並且在他們返回站點時應該完成 - 如果他們最終沒有通過付款,這不是什麼大問題,所以我並不擔心在確認付款之前運行此代碼。

我的問題是,如果我通過AJAX啓動它,如果用戶在完成之前離開頁面,代碼是否仍然會執行?如果沒有,有什麼想法?

+0

不要發送它們到paypal,直到ajax完成。 – kennypu 2013-05-13 09:13:42

+0

@kennypu爲什麼不呢? – Brett 2013-05-13 09:15:58

+0

通過這種方式,您可以確認ajax請求已成功發送並接收,而且沒有問題。此外,假設您發送Ajax請求並同時將它們發送到PayPal,你不希望Ajax請求不發送(因爲競爭條件) – kennypu 2013-05-13 09:18:00

回答

4

一旦請求發送到服務器,無論您是否離開頁面,請求的服務器端都會完成。

唯一不會發生的是執行客戶端回調方法。

+0

好的,沒什麼需要送回客戶端,所以應該是安全的,然後我想:) – Brett 2013-05-13 09:16:48