2

最初に私のコードを見てみましょう:

$.when(function(){
    //blah blah blah...
    $.post('submit.php', {name: 'John'}, function(){
        console.log('saved!');
    }, 'text');
    //blah blah blah...
})
.then( $('#data').show() );

どういう意味ですか?submit.php最初の関数が機能するとき(投稿先やその他の機能)を意味すると思います#data. (私は正しいですか?)

しかし、実行すると、最初にログが表示され#data、次にログが表示されますsaved!(投稿が終了したことを意味します)

なんで?

4

2 に答える 2

2

絶対に電話してはいけません.when()
$.post()すでに Defered オブジェクトを返しています。
直接呼び出すことができます.then()

于 2012-07-03T00:05:29.180 に答える
0

あなたはそれをそのように機能させることができます

$.post('submit.php', {name: 'John'}, function(){
    console.log('saved!');
}, 'text').then( $('#data').show() );

または、 $。whenを使い続けたい場合

$.when(function() {
    return $.post('submit.php', {name: 'John'}, function(){
        console.log('saved!');
    }, 'text');
}).then( $('#data').show() );
于 2012-07-27T15:01:28.917 に答える