2013-10-05 7 views
0

Я пытаюсь вызвать ajax, возвращенный вне его функции, ниже код, который я пробовал, но не работал.Вызов ajax возвращен вне функции?

var names; 
$.ajax({ 
    type: 'POST', 
    url: 'ajax/get_upcoming.php' 
}).success(function (data) { 
    names = data[1]; 
}); 

alert(names); 
+0

Это не сработало слишком общее ... Но может быть очевидная причина, которая чаще всего задается здесь – PSL

+0

Нет 'scope' для' names' вне 'success' function –

ответ

0

Поскольку функция успеха является функцией обратного вызова и вызываются, когда Ajax запрос получит ответ, поэтому вместо того, чтобы попробовать это

var names; 
$.ajax({ 
    type: 'POST', 
    url: 'ajax/get_upcoming.php', 
    success: performOperation 
}); 



function performOperation(data) 
{ 
    // write your code here 
    names = data[1]; 
} 
+0

Я знаю, как это сделать, но я хочу использовать имена для других функций. Вот и вся идея – user2310422

+0

Если вы хотите выполнить некоторую операцию или активировать после запроса ajax, вам нужно только ввести ее в функцию успеха. Потому что когда запрос будет завершен, никто не знает, поэтому его лучшая практика для создания функции, и вы пишете то, что хотите, и называете ее успешной функцией. – Vijay

+0

Нет, вы не помогаете. – user2310422

0

Я думаю, что предупреждение() выполняется до того, как приходит ответ от сервера. поставьте console.log() и удалите предупреждение и посмотрите порядок выполнения.

Смежные вопросы