2010-05-29 2 views
9

Я мог бы шипнуть это, чтобы узнать, но я буду использовать SO. В моих модульных тестах (qunit) я использую тест asynchShould (псевдоним для asynchTest). Часть утверждения состоит в том, чтобы дождаться завершения/успеха запроса. Как это:Ajax запрос. Какой обратный вызов выполняется первым завершением или успехом?

asyncShould('talk to customer list server', 1, function() { 
    stop(2000); 
    var forCustomerList = newCustomerListRequest(); 

    forCustomerList.page = 'helpers/helper.php'; 
    forCustomerList.data += '&action=customerListServer&DB=11001'; 
    var originalSuccess = forCustomerList.success; 

    forCustomerList.success = function(msg) { 
     if (msg.flash !== undefined && msg.data !== undefined && msg.status !== undefined) { 
      ok(true, 'json structure correct') 
     } 
     else { 
      ok(false, 'json structure not correct'); 
     } 
     originalSuccess(msg); 
     start(); 
    }; 

    testController.getServerData(forCustomerList); 
}) 

ответ

11

с сайта JQuery http://api.jquery.com/jQuery.ajax/

полный (XMLHttpRequest, textStatus) Функция

Функция, которая должна быть вызвана , когда запрос заканчивается (после succ эссе и ошибки обратного вызова )

+0

Я не помню, сколько раз я читал эту страницу и не видел ее. – Gutzofter

6

"полные" пожары после "успеха" или "провал"