ajax 的post和get写法和调用的对比

来源:互联网 发布:电脑设置阻止安装软件 编辑:程序博客网 时间:2024/05/19 13:21

=========================Post=========================

var http_request = false;

function send_request(URL, querystr)
{

        if(window.XMLHttpRequest)
        {
            http_request = new XMLHttpRequest();
        }

        else if(window.ActiveXObject)
        {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
        }

        if(!http_request)
        {
            window.alert("创建实例失败...");
            return false;
        }

        http_request.onreadystatechange = processRequest;
        http_request.open("POST",URL,true);
        //http_request.setRequestHeader("Content-Type","text/html;charset=GB2312");       
        http_request.setRequestHeader("Content-Type","multipart/form-data");//设置正确的GET的enctype
        http_request.setRequestHeader("Content-Length", "90000");
        http_request.send(querystr);
}


// 处理返回信息的函数
function processRequest()
{
    if (http_request.readyState == 4)
    {
        // 判断对象状态
        if (http_request.status == 200)
        {
            // 信息已经成功返回,开始处理信息
            //;
            var str=http_request.responseText;
            if (sflag==2)
            alert(str)

        }

        else
        {
            //页面不正常
            alert("您所请求的页面有异常。");
        }
    }
}

调用

function savedata(obj)
{
 var updatesql=getupdatesql(obj);
  if (!StrIsNull(updatesql))
  {
  //alert('save:'+updatesql);
  var currURL='<%=StrUtil.convUrl("/servlet")%>/DefinedFormSrv?updatesql='+updatesql;
 
  var querystr=null;   
  send_request(currURL,querystr);
   
}
}

=========================get=========================

var http_request = false;
var sflag=1;
function send_request(url)
{
    //初始化、指定处理函数、发送请求的函数
    http_request = false;
    //开始初始化XMLHttpRequest对象
    if(window.XMLHttpRequest)
    {
        //Mozilla 浏览器
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType)
        {
            //设置MiME类别
            http_request.overrideMimeType('text/xml');
        }
    }
    else if (window.ActiveXObject)
    {
        // IE浏览器
        try
        {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
            }
        }
    }
    if (!http_request)
    {
        // 异常,创建对象实例失败
        window.alert("不能创建XMLHttpRequest对象实例.");
        return false;
    }
    http_request.onreadystatechange = processRequest;
    // 确定发送请求的方式和URL以及是否同步执行下段代码
    http_request.open("GET", url, true);
    //发带参数请求
    http_request.send(null);
}
// 处理返回信息的函数
function processRequest()
{
    if (http_request.readyState == 4)
    {
        // 判断对象状态
        if (http_request.status == 200)
        {
            // 信息已经成功返回,开始处理信息
            //;
            var str=http_request.responseText;
            if (sflag==2)
            alert(str)

        }

        else
        {
            //页面不正常
            alert("您所请求的页面有异常。");
        }
    }
}

调用

function savedata(obj)
{
 var updatesql=getupdatesql(obj);
  if (!StrIsNull(updatesql))
  {
  alert('save:'+updatesql);
  send_request('<%=StrUtil.convUrl("/servlet")%>/DefinedFormSrv?updatesql='+updatesql);
}
}