现象:ERP绑定淘宝后,下载商品数据时如果成功,ajax不断尝试重发。
原因: /app/taoapi/lib/top/TopClient.php 中的curl()方法成功后,返回空值,而前端收到空值会当作超时,然后不断向目标地址发出重试请求。
解决办法:修正异常处理并为前端加上重试次数限制或手工重试。
if (curl_errno($ch)) { throw new Exception(curl_error($ch),0); } else { $httpStatusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); { if($httpStatusCode!='200'){ //状态码为200时跳过 throw new Exception($reponse,$httpStatusCode); } } } curl_close($ch); return $reponse;
至于前端,在文件 /app/taoapi/view/download.html 中找到以下代码直接注释即可:
}else if (responseText == "timeout"){ //ajaxGetAll(task,page_no);//超时自动重试 }else{