我正在向使用cURL下載XML的ajax.php
文件發送一個Ajax請求。在ajax請求中取消cURL
//ajax.php
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERPWD, USERNAME.':'.PASSWORD);
curl_setopt($ch, CURLOPT_POSTFIELDS, getData());
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
$data = curl_exec($ch);
echo $data;
用戶未確認此過程並可能刷新網頁。
有時curl_exec($ch)
需要很長時間,我得到一個timeout
錯誤。此錯誤阻止腳本繼續。我搜索並沒有找到確切的解決方案來解決這個問題。
現在更大的問題是,在這種情況下,當ajax請求在後臺處理並且用戶刷新頁面時,它不會刷新,直到ajax請求超時或結束。
我認爲在頁面刷新時中止該cURL請求是一個很好的臨時解決方案,但不知道該怎麼做。
注意: Ajax請求已經使用jQuery設置並中止它ajax.abort()
沒有解決問題。
你知道你可以回答你自己的問題,對吧? – wormhit
@wormhit完成的朋友!但它如何幫助我? – Omid
很多用戶在看到答案率很低時就不會回答問題。您正在放鬆將真正查看您的問題的用戶。我不是在評判你什麼。只是信息。 – wormhit