无法在$ .when()中使用成功错误功能

时间:2011-02-02 04:52:17

标签: jquery ajax

我正在使用jQuery 1.5

    function doAjax(){
       return $.get('ajax.php');
    }

    function doMoreAjax(){
       return $.get('ajax.php');
    }

    $.when( doAjax(), doMoreAjax() ).then(function(){
      console.log( 'I fire once BOTH ajax requests have completed!' );
   }).fail(function(){
      console.log( 'I fire if one or more requests failed.' );
   }).success(function(){
      console.log( 'I fire if all requests success.' ); //It not works for me
   })

问题:我无法使用successerror函数与$.when,因为$ .when或$ .ajax是相同的。

我可以successerror使用$.ajax我无法使用$.when

1 个答案:

答案 0 :(得分:2)

我认为你对此有错误的想法。

来自文档,

$.when(doAjax(), doMoreAjax())
  .then(myFunc, myFailure);
// Execute the function myFunc when both ajax requests are successful, 
// or myFailure if either one has an error.

您可能想阅读Deffered Object。我知道你会在控制台Uncaught TypeError: Object #<an Object> has no method 'success'中遇到这种错误,因为.then()会返回Deffered Object