使用JQuery $ .get来确定返回值?

时间:2011-01-10 23:13:08

标签: jquery ajax

我试图根据JQuery $ .get请求的结果确定函数的返回值:

    function checkResults(value) {
       $.get("checkDuplicates.php", {
          value: value
       }, function(data) {
          if(data == "0") {
             //I want the "checkResults" function to return true if this is true
          } else {
             //I want the "checkResults" function to return false otherwise
          }
       });
   }

有没有简单的方法可以做到这一点?

2 个答案:

答案 0 :(得分:6)

你不能这样做。 .get()像任何其他ajax方法一样异步运行(除非你明确地将它设置为同步运行,这不是很值得推荐)。所以你可以做的最好的事情就是传递一个回调。

function checkResults(value, callback) {
   $.get("checkDuplicates.php", {
      value: value
   }, function(data) {
      if(data == "0") {
         if(typeof callback === 'function')
            callback.apply(this, [data]);
      } else {
         //I want the "checkResults" function to return false otherwise
      }
   }
}

checkResults(55, function(data) {
   // do something
});

答案 1 :(得分:3)

不,您需要提供一个请求完成后将执行的回调。您可以将返回值传递给回调。回调必须对结果采取行动。