非同期通信を行う

書式

YAHOO.util.Connect.asyncRequest(method, url, callback, postBody)

method : メソッド(get, post)
url : URL
callback : 通信処理を行うコールバック関数
postBody : メソッドがpostの場合に送信するデータ

説明

 非同期通信を行うにはYAHOO.util.Connect.asyncRequest()を使います。最初のパラメータにはメソッド(通信方法)を指定します。2番目はURLを指定します。3番目はコールバック関数/処理をプロパティリスト形式で指定します。通信が成功した場合にはsuccess、失敗した場合にはfailureに処理を指定します。他にもパラメータを指定したい場合はargument、スコープを設定したい場合にはscopeを指定できます。4番目のパラメータはメソッドにpostを指定した場合には実際に送信するデータを指定します。メソッドがgetの場合はnullを指定します。  YAHOO.util.Connect.asyncRequest()は正しく処理された場合、非同期通信オブジェクトを返します。

サンプルコード [実行]

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Sample</title>
<link rel="stylesheet" href="main.css" type="text/css" media="all">
<script type="text/javascript" src="yahoo.js"></script>
<script type="text/javascript" src="dom.js"></script>
<script type="text/javascript" src="connection.js"></script>
<script type="text/javascript"><!--
function loadText(filename){
cbFunc = {
success:function(httpObj){
YAHOO.util.Dom.get("result").innerHTML = httpObj.responseText;
},
failure:function(httpObj){
YAHOO.util.Dom.get("result").innerHTML = "エラー";
}
}
YAHOO.util.Connect.asyncRequest("get", filename, cbFunc, null);
}
// --></script>
</head>
<body>
<h1>非同期通信を行う</h1>
<form>
<input type="button" value="存在するファイルを読み込み" onClick="loadText('sample.txt')">
<input type="button" value="存在しないファイルを読み込み" onClick="loadText('ajax.txt')">
</form>
<div id="result"></div>
</body>
</html>