저는 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
오류가 발생합니다. 이 오류로 인해 스크립트가 계속 실행되지 않습니다. 저는이 문제를 해결하기 위해 정확한 해결책을 찾지 못했습니다.
이제는 더 큰 문제는 아약스 요청이 백그라운드에서 처리되고 사용자가 페이지를 새로 고치는 동안 더 큰 문제는 아약스 요청 시간 초과 또는 종료까지 새로 고침되지 않는 것입니다.
페이지를 새로 고칠 때 해당 cURL 요청을 중단하는 것이 좋은 임시 해결 방법이지만이를 수행하는 방법을 알지 못한다고 생각했습니다.
참고 : jQuery를 사용하여 Ajax 요청을 설정하고 중단합니다. ajax.abort()
이 문제를 해결하지 못했습니다.
당신은 자신의 질문에 대답 할 수 있다는 것을 알고 있습니까? – wormhit
@wormhit 친구 완료! 어떻게 도움이 될 수 있니? – Omid
많은 사용자가 응답률이 낮아지는 즉시 질문에 답변하지 않습니다. 실제로 귀하의 질문을 조사 할 사용자가 줄어들고 있습니다. 나는 너 또는 아무것도 판단하지 않을거야. 정보 만. – wormhit