2016-10-16 3 views
0

Я пробовал async: false, но ничего не работает для меня.Если сообщение AFTER Ajax Call

var user = $('#element').text(), 
    // user == 'KendrisX' 
    ref; 

$.ajax({ 
    type : 'get', 
    async : 'false', 
    url : '/memberlist?username=' + user, 
    success : function(data) { 
     if ($('#link', data).html()) ref = $('#link', data).attr('href'); 
     // ref == '/u1' 
    } 
}); 

if (ref != undefined) { 
    // Code Block here 
} 

Все, что я пытаюсь сделать, это запустить вызов AJAX и проверить, если переменная ref была определена. Если он есть, я хочу запустить определенный блок кода.

Все это будет осуществляться в рамках $.each функции JQuery, чтобы я планирую использовать $(this) в если заявление (которое не будет работать в вызове AJAX

+0

'$ ('#' ссылки, данные) .html()' -. AFAIK, используется в этом разделе чтобы показать данные в интерфейсе. Почему вы хотите проверить это? Я думаю, вы что-то упустили. –

ответ

0

Использование асинхр:. Ложь не будет работать в JQuery 1.8 или более ранняя версия. вы можете использовать полный, успех, обратные вызовы ошибок.

Другой вариант, просто наведите курсор, если условие в метод успеха.

0
async : 'false', 

'false' - это строка, которая является истинным значением, это не то же самое, что и false, что является логическим значением false.

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

Все это будет осуществляться в рамках функции JQuery в $ .each поэтому я планирую использовать $ (это) в пределах, если заявление (которое не будет работать в вызове AJAX.

Да, . это будет Вам просто нужно передать правильное значение в (например, с помощью bind или функции стрелка)

success : function(data) { 
    if ($('#link', data).html()) ref = $('#link', data).attr('href'); 
    // ref == '/u1' 
}.bind(this) 
+0

Ac В конце концов, я использую 'aync: false' теперь без кавычек и он работает. –

+0

@ Ace1 - Вот что я сказал в первом абзаце этого ответа – Quentin

+0

Я видел, и я не могу поверить, что пропустил эту маленькую деталь. Я мог бы избежать всего этого вопроса. Спасибо тебе за это. –