Используя JQuery $ .get для определения возвращаемого значения? - PullRequest
3 голосов
/ 11 января 2011

Я пытаюсь определить возвращаемое значение функции на основе результата запроса 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 ]

6 голосов
/ 11 января 2011

Вы не можете сделать это таким образом. .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
});
3 голосов
/ 11 января 2011

Нет, вам нужно будет предоставить обратный вызов, который будет выполнен после завершения запроса. Вы можете передать возвращаемое значение в обратный вызов. Обратный вызов должен будет повлиять на результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...