2011-11-20 15 views
1

jQuery.when(..).done()をAjaxの成功のコールバックの中で使う方法?上記のコードjQuery ajax successコールバックの中で "jQuery.when"を使用する方法は?

Javascriptを

button = function() { 
    doPost('sucess.php', 
     'first=' + first, 
     function (response) { 
      $.when($.ajax("sucess.php")).done(function (a1) { 
       // Stop the button function execution 
      }); 
     } 
    ); 
} 
doPost = function (url, data, success, complete, options) { 
    var defaults = { 
     url:url, 
     data:data, 
     success:success, 
     complete:complete, 
     type:'POST', 
     processData:false 
    }; 
    if (options) { 
     for (var i in options) { 
      defaults[i] = options[i]; 
     } 
    } 
    $.ajax(defaults); 
} 

いくつかの理由のために働くことはありません。 私の$.when(..).done()ステートメントで何かが間違っていたことを確認してください。

+2

英語が母国語でない場合がありますが、質問する必要があります。 –

+0

Jusnit、私の編集された答えを見て、それがあなたを助けることができるかどうかを見てください。 –

答えて

1

どこでもjQuery.whenを使用できます。しかし、それを適用する方法を知っている必要があります。

ここに行く:jQueryのバージョンを使用している

'$.when is not a function' 

http://api.jquery.com/jQuery.when/

function(response) { 
    $.when($.ajax("sucess.php").then(function() { 
     // code to stop the button function execution 
    }) 
} 
+0

私は$ .when($。ajax( "sucess.php")。done(function(a1){});を使用しましたが、 '$ .whenは関数ではありません'というエラーを受け取り、jquery nonConflict still errorこの問題を解決するにはどうすればよいですか? –

+0

success.phpの後にかっこを閉じるのを忘れてしまった。$ .when($。ajax( "success.php"))。done(function(){})。 success.phpから来ているもの? –

1

私はあなたが次のエラーを取得するゼクィンハ-BSBにご対応して参照してください? jQuery 1.5の前に$ .whenが導入されていないことを覚えておくと良いでしょう。

+0

'jQuery JavaScript Library v1.6'です。 –

関連する問題