小豬不笨 2007-6-1 01:19 AM
提供一個簡易AJAX客戶端框架
/*---
ajax.js
返回值為3 個
1.<ajax::loading>
2.<ajax::error>
3.<ajax::success>
服務器端返回處理結果就以<ajax::error>或<ajax::success>開始
如PHP中
echo '<ajax::error>用戶名錯誤'; die;
----------*/
var http_request;
function sendRequest(actionUrl, dealResponseFuncName, postData ,httpMethod) {
if(!httpMethod) httpMethod = "POST";
var msXml = new Array();
msXml[0] = "Microsoft.XMLHTTP";
msXml[1] = "MSXML2.XMLHTTP";
if (window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
} else {
for (var i = 0; i < msXml.length; i++) {
try {
http_request = new ActiveXObject(msXml[i]);
break;
} catch (e) {
http_request = new XMLHttpRequest();
}
}
}
eval('http_request.onreadystatechange ='+dealResponseFuncName);
http_request.open(httpMethod, actionUrl, true);
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http_request.send(postData);
}
function getResponse() {
var message = '<ajax::loading>';
if(http_request.readyState==4) {
if(http_request.status==200) {
message = http_request.responseText;
} else {
message = "<ajax::error>XMLrequest.status:" + http_request.status;
}
}
return(message);
}