Есть ли способ получить доступ к данным, которые я получаю во время успеха, поэтому я могу использовать его во время полного обратного вызова?Доступ к данным из ajax успеха завершен?
Возможно, есть способ, которым я могу назначить несколько функций успеха?
Что мне нужно, чтобы изменить обратный вызов успеха в зависимости от ситуации, но мне нужно всегда выполнять выделенную функцию при успешном использовании, используя те же данные, которые были возвращены первой функции.
Я полагаю, что всегда могу настроить свой вызов так, но я смотрю, есть ли лучший способ.
CallServer = function(options) {
if(options.success) {
var customSuccess = options.success;
options.success = function(data) {
defaultSuccess(data);
customSuccess(data);
}
}
$.extend(true, defaults, options);
$.ajax(defaults);
}
EDIT: Я нашел мой ответ. Я не понимал, что xhr хранит данные как responseText. поэтому следующее получает мне то же самое, что возвращается как «данные» об успехе.
complete: function(xhr){dosomething(xhr.responseText);}
и все! Спасибо
Поскольку вы, кажется, уже используете jQuery, прочитайте функциональность jQuery [Deferred] (http://api.jquery.com/category/deferred-object/). Вы можете добавить несколько обратных вызовов с помощью метода '.done()'. – nnnnnn
Спасибо, что привлекли это к моему вниманию. Я могу представить, что это полезно позже в моем проекте. К сожалению, он, похоже, не в состоянии помочь получить возвращаемые данные вызова ajax в него ... – Zholen