jquery的ajax和原始的ajax這兩種方式的使用方法

jquery的ajax是對原始的ajax進行的封裝,方便用戶的使用。下面用代碼分別舉例各自的使用方式。node

  • jquery的ajax發送和接收xml數據格式。
        $.ajax({
            type: "PUT",
            beforeSend: function(xhr) {
                alert("xhr=" + xhr);
                m_szUserPwdValue =  "YWRtaW46MTIzNDU=";
                xhr.setRequestHeader("If-Modified-Since", "0");
                xhr.setRequestHeader("Authorization", "Basic " + m_szUserPwdValue);
            },
            url:"./videoPathLoad", //請求路徑  
            processData: false,
            data: xmlDoc,
            success: function(xmlDoc, textStatus, xhr) {
                alert("xml = " + xml);
                SetPTZCallback(xhr);
            },
            error:function(xhr, textStatus) {
                alert("error");        
            }        
        });

     

  • jquery的ajax發送和接收json數據格式。
        $.ajax({
            type:"POST", //請求方式  
            url:"./videoPathLoad", //請求路徑  
            cache: false,     
            data:{//傳參  
                "operateType":"query",
                "deviceID":m_sDeviceID,
                "pathID":$("#selectPatrol").val()
            },
            dataType: 'json',   //返回值類型  
            success:function(json){     
                $("#PatrolPresetList").empty();    
                if(json != null){
                    if(json.PresetID_1 != 0){InsertPresetList(1, json.PresetID_1, json.PatrolTime_1, json.PatrolSpeed_1)}
                }
            }  
        });  

     

  • 原始的ajax發送數據。
    //定義用於存儲XMLHttpRequest對象的變量
    var xmlHttp = null;
    
    //建立XMLHttpRequest對象
    function creatXMLHTTP()
    {
        //判斷瀏覽器是否支持ActiveX控件
        if(window.ActiveXObject)
        {
            //將全部可能出現的ActiveXObject版本都放在一個數組中
            var arrXmlHttpTypes = ['Microsoft.XMLHTTP','MSXML2.XMLHTTP.6.0',,'MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP'];
            //經過循環建立XMLHttpRequest對象
            for(var i=0;i<arrXmlHttpTypes.length;i++)
            {
                try
                {
                    //建立XMLHttpRequest對象
                    xmlHttp = new ActiveXObject(arrXmlHttpTypes[i]);
                    //若是建立XMLHttpRequest對象成功,則跳出循環
                    break;
                }
                catch(ex)
                {
                }
            }
        }
        //判斷瀏覽器是否將XMLHttpRequest做爲本地對象實現
        else if(window.XMLHttpRequest)
        {
            xmlHttp = new XMLHttpRequest();
        }
    }
    
    //響應XMLHttpRequest對象狀態變化的函數
    function httpStateChange()
    {
        alert("xmlHttp.readyState=" + xmlHttp.readyState);
        if (xmlHttp.readyState==4)
        {
            if (xmlHttp.status==200 || xmlHttp.status==0)
            {
                switch (variable) {
                    case 0:
                        var node = document.getElementById("xlContainer");
                        node.innerHTML = xmlHttp.responseText;
                        break;
                    case 1:
                        alertWin(" 線路信息:", xmlHttp.responseText, 400, 330);
                        break;
                }
    
            }
        }
    }
    
    //發送http請求
    function sendHttpReq(url)
    {
        //建立XMLHttpRequest對象
        creatXMLHTTP();
    
        if (xmlHttp!=null)
        {
            //建立響應XMLHttpRequest對象狀態變化的函數
            xmlHttp.onreadystatechange = httpStateChange;
            //建立HTTP請求
            xmlHttp.open("post",url,false,"admin","12345");
    
            //發送HTTP請求
            xmlHttp.send(null);
        }
        else
        {
            alert("您的瀏覽器不支持XMLHTTP,請更換瀏覽器後再進行註冊。");
        }
    }
    
    /*************************************************
    Function:        SavePatrol
    Description:    發送http請求
    Input:            無
    Output:            無
    return:            無
    *************************************************/
    function SavePatrol() {
    
        var url = "./videoPathLoad";
        sendHttpReq(url);
        
    }
相關文章
相關標籤/搜索