Я пытаюсь построить функцию jQuery ajax, которая является полностью общей. Он будет получать все данные и даже тип запроса в качестве параметров. После этого он заменит соответствующие переменные и построит запрос. Вот код ...Как сделать этот общий запрос ajax возвращать полученные данные?
function server_request (type, url, dataType, data) {
var packet;
var response = null;
if (packet) {
packet.abort();
};
if (type == "get") {
packet = $.ajax({ type: type, url: url, dataType: dataType });
packet.done(function(returned_data){
response = returned_data;
});
}
return response;
response = null;
}
Так что я хочу, чтобы полученные данные будут храниться в уже объявленной переменной называется «ответ», и я хочу, чтобы это было возвращено для использования в другом месте. Как-то его не работает, и он сохраняет возвращаемое предопределенное значение переменной ответа. может кто-нибудь помочь?
сделанный, происходит в другом контексте, поэтому return resposne будет null. Вы можете сделать блокирующий вызов ajax раньше, но теперь он обосолете, потому что это вызвало проблемы с перфорацией. Что вам нужно сделать, это предоставить обратный вызов в ваш общий mehtod и привязать к этому обратному вызову функции, вызывающей его, вернуть resposne в code.done code ... не в код server_request. – ppumkin
Да, это дублированный ответ: см. Предлагаемую ссылку http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-asynchronous-call – gaetanoM
@gaemaf, если это дубликат оригинальный вопрос, я должен удалить это или что-то в этом роде. (Я новичок на этом сайте). – mbz