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); }