2013-06-04 57 views
0

我正在對一個變量爲n的API進行Ajax JSON調用。自定義JSON Ajax循環變化

變量越高,取決於用戶,調用的結果越多。

如果沒有返回,返回的JSON值response是「找不到」。

我想編寫一個腳本,如果沒有返回任何內容,變量n增加5,並且代碼循環直到收到包含結果的響應。

這是如何實現的?

相關代碼:

var n=5; 

$.ajax({ 
    type: 'GET', 
    dataType: 'jsonp', 
    jsonp: 'jsoncallback', 
    url: 'http://www.URL.com/API.php?var='+n, 
    success: function (data, status) { 
    $.each(data, function (i, item) {  
     //Do stuff here 
    }); 
    } 
}); 

迴應示例:

if(item.response=="Nothing Found"){ 
    n=n+5; 
} 

回答

2

試試這個代碼:

function sendRequest(n) { 
    $.ajax({ 
    type: 'GET', 
    dataType: 'jsonp', 
    jsonp: 'jsoncallback', 
    url: 'http://www.URL.com/API.php?var='+n, 
    success: function (data, status) { 
      //i assume that your items have property response which you want to check 
      //if I'm wrong then it is just "if (data.response === ...)" 
      $.each(data, function (i, item) {       
       if (item.response === "Nothing found") { 
        sendRequest(n + 5); 
       }; 
       else { 
        //process response 
       } 
      }); 
    } 
    }); 
}; 

sendRequest(5); 
+0

這是完美和出色的幫助。謝謝你一百次! – Ben