[解決済み] jQuery.whenの理解
2022-02-10 04:31:57
質問内容
を使おうとしています。
jQuery.when
を2つ発射するために
ajax
をリクエストし、2つのリクエストが完了した後に何らかの関数を呼び出します。以下は私のコードです。
var count = 0;
var dfr;
var showData = function(data) {
dfr.resolve();
alert(count);
// Do something with my data data received
};
var method1 = function() {
dfr = $.Deferred();
return $.ajax('localhost/MyDataService/DataMethod_ReturnsData', {
dataType: "jsonp",
jsonp: "$callback",
success: showData
});
};
var method2 = function() {
return $.ajax('localhost/MyDataService/DataMethod_ReturnsCount', {
dataType: "jsonp",
jsonp: "$callback",
success: function(data) {
count = data.d.__count;
}
});
};
$.when(method1(), method2())
.then(showData());
しかし、これは期待通りに動作しません。でのAjax呼び出しは
method1
で使用されるデータが返されます。
showData()
でのAjaxコールと
method2
はcountを返し、これはvar countに代入され、後で
showData()
.
しかし、上記のコードを発射すると
method1
が呼び出され、その後
method2
で、次に
showData
にデータを残したまま
showData
として
'undefined'
. これを実現するには
$.when
これは、私の知る限り、両方の関数が
$.promise
が実行されます。私は、両方のajaxコールが並行して呼び出され、両方のコールからの結果に基づいて後で結果が表示されるようにしたいです。
解決方法は?
function showData(data1, data2) {
alert(data1[0].max_id);
alert(data2[0].max_id);
}
function method1() {
return $.ajax("http://search.twitter.com/search.json", {
data: {
q: 'ashishnjain'
},
dataType: 'jsonp'
});
}
function method2() {
return $.ajax("http://search.twitter.com/search.json", {
data: {
q: 'ashishnjain'
},
dataType: 'jsonp'
});
}
$.when(method1(), method2()).then(showData);
以下は、動作中の jsFiddle
関連
-
[解決済み] TypeError: $.ajax(...) is not a function?
-
[解決済み】jQuery: outer html() [重複]。
-
[解決済み] Foundation Revealモーダルjavascriptを開く方法
-
[解決済み] jQueryがfadeOutで動作しない
-
[解決済み] jQueryでページスクロールをプログラム的に無効にする方法
-
[解決済み] AJAXを同期させる(SJAX)にはどうすればよいか
-
[解決済み] JWplayer 再生クリックでフルスクリーン表示
-
[解決済み] cssで自動的にシャインエフェクト
-
[解決済み] jQueryの各ループから抜け出すには?
-
[解決済み] .animateをループさせる方法 JQuery
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】jQuery: outer html() [重複]。
-
[解決済み】Ajaxクロスオリジンリクエストがブロックされました。同一生成元ポリシーがリモートリソースの読み取りを不許可にする
-
[解決済み] カルーセルで画像を中央に配置する方法
-
[解決済み] jQueryを使って入力が空かどうかをチェックする
-
[解決済み] jQuery - 不正な呼び出し
-
[解決済み] jQueryの遅延が機能しない
-
[解決済み] jQuery.whenの理解
-
[解決済み] JWplayer 再生クリックでフルスクリーン表示
-
[解決済み] 右から検索トグル
-
[解決済み] jQueryで小文字と大文字を使い分ける