Ajax的Get和Post的请求用法

1、创建一个xmlHttpRequest对象

function createXmlHttpReq() {
        var xmlHttpReq = null;
        if (window.ActiveXObject) {   //IE5 IE6是以ActiveXObject的方式引入XMLHttpRequest的
            xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
        } else if (window.XMLHttpRequest) {   //除IE5 IE6 以外的浏览器XMLHttpRequest是window的子对象
            xmlHttpReq = new XMLHttpRequest();   //实例化一个XMLHttpRequest
        }
        return xmlHttpReq;
}

2、 Get方式
function ajaxGET(){
        var XHR = createXmlHttpReq();
        if(XHR != null){
            XHR.open("GET","back.jsp?name=111",true);
            XHR.send();
            XHR.onreadystatechange = function(){ ////一旦readyState值改变,将会调用这个函数
                if(XHR.readyState == 4){
                        if(XHR.status == 200){
                            //将xmlHttpReq.responseText的值赋给ID为 resText 的元素
                            alert(XHR.responseText);
                        }
                }
            }
        }       
}

3、 POST方式

function ajaxPOST(){
        var XHR = createXmlHttpReq();
        if(XHR != null){
            XHR.open("POST","back.jsp",true);
            XHR.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
            XHR.send("name=111");
            XHR.onreadystatechange = function(){ ////一旦readyState值改变,将会调用这个函数
                if(XHR.readyState == 4){
                        if(XHR.status == 200){
                            //将xmlHttpReq.responseText的值赋给ID为 resText 的元素
                            alert(XHR.responseText);
                        }
                }
            }
        }
}

使用Post方式需注意:  
(1).设置header的Context-Type为application/x-www-form-urlencode确保服务器知道实体中有参数变量.通常使用XmlHttpRequest对象的SetRequestHeader("Context-Type","application/x-www-form-urlencoded;")。例:
XHR .setRequestHeader("Content-Type","application/x-www-form-urlencoded")
(2).参数是名/值一一对应的键值对,每对值用&号隔开.如 var name=abc&sex=man&age=18 注意var name=update.php?abc&sex=man&age=18以及var name=?abc&sex=man&age=18的写法都是错误的; 

(3).参数在Send(参数)方法中发送,例: xhr.send(name); 如果是get 方式,直接 xmlHttp.send(null);


你可能感兴趣的:(Ajax,function,header,IE,null,XMLhttpREquest)