﻿function createXmlHttpRequest()
{
    var objXmlHttp = null;
    //开始初始化XMLHttpRequest对象
    if (window.XMLHttpRequest) { //Mozilla 浏览器
        objXmlHttp = new XMLHttpRequest();
        if (objXmlHttp.overrideMimeType) {//设置MiME类别
            objXmlHttp.overrideMimeType("text/xml");
        }
    }
    else if (window.ActiveXObject) { // IE浏览器
        try {
            objXmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                objXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }catch (e){
            }
        }
    }
    return objXmlHttp;
}
function downloadUrl(url, callback)
{
    var request = createXmlHttpRequest(); // 异常，创建对象实例失败
    if (!request) {
        window.alert("不能创建XMLHttpRequest对象实例.");
        return false;
    }
    request.onreadystatechange = function() {
        if (request.readyState == 4) {
            callback(request);
            //var statusAndResponse = xmlHttpRequestGetStatusAndResponseText(request);
            //      var status = statusAndResponseText.status;
            //      var responseText = statusAndResponseText.responseText;
            //callback(statusAndResponse);
        }
    };
    request.open('get', url, true);
    request.send(null);
    return true;
}
function xmlHttpRequestGetStatusAndResponseText(request)
{
    var status = -1;
    var text = null;
    var json = null;

    try {
        status = request.status;
        text = request.responseText;
        if (text != "" && text != null) {
            json = eval('(' + text + ')');
        }
    }
    catch (e) 
    {
    }
    return { status: status, text: text, json: json };
}
function xmlHttpRequestText(request)
{
    return request.responseText;
}
function xmlHttpRequestJson(request) {
    //debugger;
    var json = null;
    try
    {
        var text = request.responseText;
        var index = text.indexOf('=');
        if (index > 0) {
            index += 1;
            text = text.substr(index, text.length - index);
        }
        if (text.charAt(text.length - 1) === ';') {
            text = text.substr(0, text.length - 1);
        }
        
        if (text != "" && text != null) {       
            json = eval('(' + text + ')');
        }
    }
    catch (e)
    {
    }
    return json;
}
