2013-12-14 13 views
5

「getproduct」ボタンをクリックすると、製品が入手できない場合はajax呼び出しが製品または404コードを取得します。成功するまでajax呼び出しを繰り返す方法

製品が返されるまで、関数getMyJsonを5秒ごとにもう一度呼び出すようにします。

アイデア?

$(function() { 
    $("#getproduct").click(function getMyJson() { 
     $.ajax({ 
      type: "GET", 
      url: "Product/GetProduct", 
      dataType: "json", 
      success: function (data) { 
       //alert("succes"); 
       $("#name").html(data.Name); 
       $("#price").html(data.Price); 
      }, 
      error: function() { 
       //alert("fail"); 
       //callback getMyJson here in 5 seconds 
      } 
     }); 
    }); 
}); 

答えて

13

あなたはそれが完璧に動作します

$(function() { 
    function getMyJson() { 
     $.ajax({ 
      type: "GET", 
      url: "Product/GetProduct", 
      dataType: "json", 
      success: function (data) { 
       //alert("succes"); 
       $("#name").html(data.Name); 
       $("#price").html(data.Price); 
      }, 
      error: function() { 
       //alert("fail"); 
       //callback getMyJson here in 5 seconds 
       setTimeout(function() { 
        getMyJson(); 
       }, 5000) 
      } 
     }); 
    } 
    $("#getproduct").click(function() { 
     getMyJson(); 
    }); 
}); 
+0

errorコールバック関数でsetTimeoutを使用することができます。どうもありがとう :-) – Maxime

関連する問題