jquery的ajax是对原始的ajax进行的封装,方便用户的使用。下面用代码分别举例各自的使用方式。
- 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); }