jQueryのwhen() を使う

複数のjsonファイルを取得して色々処理する方法を調べる機会があったのですが、jQueryのwhen()がとても便利そうだったので使ってみました。

サンプルコード

今回サンプルで使用するjsonファイルです。
sample01.json / sample02.json
sample01.jsonのデータを使って、sample02.jspnのデータから必要なものを抽出して表示してみます。

HTML

<ul id="cast"></ul>

jsonデータを処理して、ここに結果を出力する想定です。

JavaScript

$(function() {
	// jsonデータの格納場所
	var data01, data02;

	// jsonデータの取得
	var getJson = $.when (
		$.ajax({
			type : 'GET',
			url: 'sample01.json',
			dataType: 'json',
			success: function(data01) {}
		}), 
		$.ajax({
			type : 'GET',
			url: 'sample02.json',
			dataType: 'json',
			success: function(data02) {}
		})
	);

	// jsonデータ取得後の処理
	getJson.done(function(data01, data02) {
		var target = data01[0]['data'];
		var insert = '';
		for(var i = 0; i < data02[0][target].length; i++) {
			insert += '<li>' + data02[0][target][i]['name'] + '<span>CV:' + data02[0][target][i]['actor'] + '</span></li>';
		}
		$('#cast').append(insert);
	});

	// 何らかの原因で取得失敗した場合
	getJson.fail(function(data01, data02) {
		alert('error');
	});
});

jQueryのwhen() を使うデモページ

今回紹介したい個所だけ抜き出すと以下になります。

$(function() {
	var hoge = $.when (
		// 行いたい処理内容
	);

	hoge = $.done (function() {
		// when()の処理終了後に行う処理内容
	});

	hoge = $.fail (function() {
		// when()の処理が失敗したときに行う処理内容
	});
});

 

【参考サイト】

 

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年11月
 12
3456789
10111213141516
17181920212223
24252627282930