jQuery 非同期通信を行う


 jQueryでは非同期通信の処理を行うことができます。サーバー上にあるデータを読み込ませるにはload()メソッドを使います。パラメータには読み込むファイルまたはCGIプログラムを指定します。以下のサンプルはサーバー上にあるsample.txtファイルを読み込んで表示します。(サンプルを実行する

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>サンプル</title>
<style type="text/css"><!--
#mainText {
background-color:#ffd;
color:red;
border:1px solid black;
}
--></style>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript"><!--
$(document).ready(function(){
$("#btn").click(function(){
$("#mainText").load("./sample.txt");
});

});
// --></script>
</head>
<body>
<h1>jQuery : サンプル</h1>
<form>
<input type="button" value="Click" id="btn">
</form>
<p id="mainText"></p>
</body>
</html>

 フォームデータをサーバーに送信することもできます。以下のサンプルは直接URLにパラメータを指定して送信しています。送信方法をgetメソッドで行う場合には$.get()を使います。postメソッドの場合は$.post()を使います。$.get()の場合、最初のパラメータはURL、次が読み込み完了時に呼び出される関数になります。$.post()は最初のパラメータはURL、次が送信するパラメータ、三番目が読み込み完了時に呼び出される関数になります。(サンプルを実行する

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>サンプル</title>
<style type="text/css"><!--
#mainText {
background-color:#ffd;
color:red;
border:1px solid black;
}
--></style>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript"><!--
$(document).ready(function(){
$("#btn").click(function(){
$.get("./message.rb?abc=123&def=456", function(data) {
alert(data);
});

});
});
// --></script>
</head>
<body>
<h1>jQuery : サンプル2</h1>
<form>
<input type="button" value="Click" id="btn">
</form>
<p id="mainText"></p>
</body>
</html>

[目次へ]

(2006.8.6)