查看完整版本: 提供一個簡易AJAX客戶端框架

小豬不笨 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);
}
頁: [1]
查看完整版本: 提供一個簡易AJAX客戶端框架