2011-12-14 3 views
0

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

function verify(data) 
{ 
    if(data > 5) 
    return false; 
    else 
    { 
    // ajax call 
    if(ajax response == "") 
     return false; 
    } 
} 
+0

Покажите нам остальную часть кода т.е. запрос XHR. –

+0

Это не что-то конкретное, я несколько раз сталкивался с этой проблемой, но я не знал, как ее развивать. Я думаю, что это можно решить с помощью обратных вызовов. Вы сказали о просьбе xhr; Я использовал xmlhttp некоторое время, но я переключился на jQuery, поскольку sintax намного меньше и чище. Какая из них лучше? – flaviu

ответ

1

Вы должны указать verify как обратного вызова для вашего AJAX вызова.

Если вы используете JQuery, это будет выглядеть примерно так:

$.ajax('foo.asmx/Method', { dataType: 'json', success: verify }); 

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

Если вы делаете это изначально, с реальным объектом XHR, я думаю, что нужно что-то вроде этого:

xhr.onreadystatechange = function() { 
    if (xhr.readyState === 4) { 
     verify(xhr.responseText); 
    } 
} 
+0

Да, я использую jQuery. Но что, если у меня будет более одного вызова ajax? Я объединил их в один? – flaviu

+0

Укажите, какой обратный вызов вам нужен для каждого вызова ajax. Если оба варианта использования подтвердят, то вы можете указать подтверждение для обоих вызовов. –

+0

Думаю, теперь я понимаю, как это работает ... надеюсь, что это сработает. Спасибо! – flaviu

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