2017-10-30 8 views
1

私は、コードを持って、ループ内で、このスクリプトは、リクエストを送信します。どのようにキャッチステータスが投稿要求を偽造しましたか?

function parse() { 
    $.post("meth.php", { 
     proxy: $proxy, 
     time: (new Date().getTime()) 
    }, function(data) { 
     return setTimeout(function() {parse()}, 5000); 
    }, "json"); 
} 

をしかし、いくつかの回では、サーバーの送信ステータスはfalied、私はこのエラーを無視し、私がしようと、新しい要求に

を送る必要があります。

function parse() { 
    try{ 
    $.post("meth.php", { 
     proxy: $proxy, 
     time: (new Date().getTime()) 
    }, function(data) { 
     return setTimeout(function() {parse()}, 5000); 
    }, "json"); 
    } catch (err) { 
     return setTimeout(function() {parse()}, 5000); 
    } 
} 

しかし、この構造はうまくいきませんでした。

+0

使用 '$ .ajax'は' $ .post' – bassxzero

+0

は、あなたは私がエラーでAJAXを試したが、重複を作成し、状態 – Niladri

+0

でjqxhr関連のエラーを処理するためのプロパティ 'ERROR'を持っている$アヤックスを使用することができません並行して作業を開始する2または3 function post() – user3272368

答えて

0

あなたがしたことは、t彼はAjaxリクエストが失敗します。 jQuery for Ajaxのドキュメンテーションを見れば分かります。あなたはそれをどのようにしてイベントに失敗またはエラーを使用します。

または、成功と失敗の両方のために常に発動する約束を使用することができます。

var activeTimer; 
function foo() { 
    if (activeTimer) window.clearTimeout(activeTimer) 
    $.ajax({ 
     method: "POST", 
     url: "some.php", 
     data: { } 
    }).always(function() { 
     activeTimer = window.setTimeout(foo, 5000) 
    }); 
} 
関連する問題