Javascriptをはじめ、Ajax、jQueryの著書多数のガイドが、何かと最近騒がれているJa…
北欧好きが、愛用の北欧モノを見せ合うコミュニティ
Javascript関連情報
更新日:2006年03月26日
今回は、Ajaxのメリットのひとつである、ページの一部だけを高速軽量リフレッシュするという方法を確認してみます。

<?php
mb_http_output ( 'UTF-8' );
header('Content-Type: text/html; charset:utf-8');
print ('['.date ('Y,m,d,"D",H,i,s').']');
?>
1行目で、出力文字コードをUTF-8に設定し、2行目でContent-Typeヘッダを指定しています。(このデータの場合は日本語などが含まれていませんから、 実はUTF-8でなくても問題なく動作しますが、 一般にAjaxを利用する場合はUTF-8を使う方が安全な場合が多いので念のために書いておきました)。そして、3行目のdate()関数で日時を生成し、print文で出力しています。 [2006,03,26,"Sun",09,13,49][年,月,日,"曜",時,分,秒]のデータが返ります。つまり、日時のデータが入ったJavaScript配列を意味する文字列が返る仕組みです。 これを、JavaScript側では、「r = eval(oj.responseText)」の部分でJavaScript化して「r」 という配列を作成してから「r[0]+"年"+r[1]+"月"...」のようにして出力文字を作成しています。 この配列には、年,月,日,"曜",時,分,秒がr[0]からr[6]まで順番に入っていますので、その番号で取り出せば良いわけです。
print ("サーバー着信は 着信は ".date ("Y年m月d日(D) <b>H時i分s秒</b>")."でした");
Ajaxでは、純粋にデータのみを送り、あとのHTML生成はクライアントにまかせるという方法を取ることが増えてきており、これによって送信するデータ量も減らすことができます。
{"jp":[4,0,0,0,2,0,0,0,4,10],
"cu":[1,0,0,0,0,2,0,2,1,6]}
Ajax関連と言えそうな軽量高速化テクニックとしては、実はさらに、先方のファイル更新時間などをチェックしてから取りに行くとか、HTTP1.1のgzip圧縮を利用するといった HTTPクライアントらしい技もあるのですが、今回はブラウザに依存しない手軽で基本的な方法ということで紹介してみました。 人気Javascriptランキング
Powered by 価格.com
北欧好きが、愛用の北欧モノを見せ合うコミュニティ