0

我正在使用变量对 API 进行 Ajax JSON 调用n

变量越高,根据用户的不同,调用的结果就越多。

如果没有返回任何内容,则返回的 JSON 值为response“Nothing found”。

我正在尝试编写一个脚本,如果没有返回任何内容,则变量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;
}
4

1 回答 1

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);
于 2013-06-04T13:25:55.997 回答