AJAXベース---XmlHttpRequestを使用
AJAXについては、ブラウザがメインスレッドで継続して実行されている場合、妻のXmlHttpRequestにサーバにリソースを要求し、ブラウザに渡してリソースを表示してもらうことを理解しています.
AJAXを使う最も基本的な方法は4つのステップに分かれています
1.非同期オブジェクトcreateXmlHttp()の作成
2.要求方式及びパラメータopenの設定
2.1対応要求方式のメッセージヘッダの設定
GET xhr.setRequestHeader("If-Modified-Since", "0");
POST xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
3.コールバック関数の設定
4.4.非同期オブジェクトをサーバsendに送信する
上記の方法で非同期オブジェクトを作成します.
AJAXを使う最も基本的な方法は4つのステップに分かれています
1.非同期オブジェクトcreateXmlHttp()の作成
2.要求方式及びパラメータopenの設定
2.1対応要求方式のメッセージヘッダの設定
GET xhr.setRequestHeader("If-Modified-Since", "0");
POST xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
3.コールバック関数の設定
4.4.非同期オブジェクトをサーバsendに送信する
//
function createXmlHttp() {
xhobj = false;
try {
xhobj = new ActiveXObject("Msxml2.XMLHTTP"); //lemsxml3.0
}
catch (e) {
try {
xhobj = new ActiveXObject("Microsoft.XMLHTTP"); //lemsxml2.6
}
catch (e2) {
xhobj = false;
}
}
if (!xhobj && typeof XMLHttpRequest != 'undefined') {//Firefox,Opera 8.0+,Safari,
xhobj = new XMLHttpRequest();
}
return xhobj;
}
上記の方法で非同期オブジェクトを作成します.
<script src="common/common.js" type="text/javascript"></script>
<script type="text/javascript">
var xhr = false;
// Id dom
function gel(Id) { return document.getElementById(Id); }
function GetDate() {
//1.
xhr = createXmlHttp();
//2. , 1 , GET POST
// 2, , 3 (false) (true)
xhr.open("GET", "XmlRequst.ashx", true);
//2.1 , , ,
// , , GET, ,
//GET
xhr.setRequestHeader("If-Modified-Since", "0");
//Post
//xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//3. ( )
xhr.onreadystatechange = function() {
//
//readyState 5 0-4, 5 ,
//onreadystatechange
if (xhr.readyState == 4) {
//status
// 200,
if (xhr.status == 200) {
//responseText
// alert(xhr.responseText);
document.getElementById("msgDiv").innerHTML = xhr.responseText;
}
else {
alert(" --- !");
}
}
}
//4.
xhr.send(null);
//xhr.send("txtName=tavb&txtPWD=123");// post 。
}
</script>
<div id="msgDiv">
</div>
<input type="submit" value=" " onclick="GetDate()" />