Нужно вернуть responseText из jQuery.ajax вместо использования функции success

Я хотел бы иметь функцию, которая возвращает repsonseText вызова jQuery.ajax(). Все примеры, которые я видел, говорят об использовании функции "success" для обработки возвращаемых данных. Однако для моей реализации мне нужно что-то вроде следующего:

function getRemoteValue(id) {
  var request = jQuery.ajax({
    url:'somefile.php',
    dataType:'text'
  });
  return request.responseText;
}

Когда я вызываю эту функцию, Firebug показывает, что запрос выполняется, и возвращается правильный ответ. Однако, когда я пытаюсь сделать следующее, я получаю только пустую строку:

var some_value = getRemoteValue(1); // The problem is here. some_value is empty.
jQuery('.someclass').html(some_value);
// Other processing using some_value;

Опять же, для моей реализации я не могу делать jQuery('. Someclass'). Html(some_value); в вызове ajax (). Как я могу получить ответный текст? Спасибо!

1 ответ

Решение

Робер,

Следующий код действителен, но возвращает ноль

var some_value = getRemoteValue(1); 

Вызов ajax - это асинхронный вызов, он просто создает экземпляр процесса, поэтому у вас всегда будет эта проблема.

Вам нужно переместить свой код в ваш обработчик успеха ajax для выполнения любых почтовых операций.

Другие вопросы по тегам