ajax中运用的几个重要函数!
一同步判断:
function AjaxRequest(url,postXml) {//初始化、指定处理函数、发送请求的函数
xmlhttp = false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest) { //Mozilla 浏览器
xmlhttp = new XMLHttpRequest();
if (xmlhttp.overrideMimeType) {//设置MiME类别
xmlhttp.overrideMimeType("text/xml");
}
}
else if (window.ActiveXObject) { // IE浏览器
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!xmlhttp) { // 异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}
// 确定发送请求的方式和URL以及是否同步执行下段代码
xmlhttp.open("POST", url, false);//表示是同步获取!因为这是获取一个状态,然后根据此状态判断,做出行为,所以决定要同步!
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//xmlhttp.onreadystatechange = processRequest;
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
if(xmlhttp.responseText=="strfalse")
{
result = false;
}
if(xmlhttp.responseText=="strtrue")
{
result = true;
}
}
}
}
xmlhttp.send(postXml);
return result;
}
同步判断:
if(AjaxRequest(reqUrl,strPost) == true)
{
alert("发表评论成功!");
document.location=document.location.href;
}
else
{
alert("发表评论失败!");
}
二 异步更新:
function GoPage(PageIndex)
{
var VideoID = document.getElementById("VideoID").value;
var PageIndex=PageIndex;
var strPost = "PageIndex=" +PageIndex +"&PageSize=5&VideoID=" +VideoID;
var reqUrl = "/sys/Video/ReVideo.aspx";
PostData(reqUrl,"CommonDetailList",strPost);
}
function PostData(url,obj,data)
{
var xmlhttp = CreateXmlhttp();
if(!xmlhttp)
{
alert("你的浏览器不支持XMLHTTP!!");
return;
}
xmlhttp.open("POST", url, true);
xmlhttp.onreadystatechange=requestdata;
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-Type", "text/xml;charset=GB2312");
xmlhttp.send(data);
function requestdata()
{
echo(obj,"正在提交数据,请稍等......","");
if(xmlhttp.readyState==4)
{
if(xmlhttp.status==200)
{
var Status = xmlhttp.responseText;
echo(obj,Status,"");
}
}
}
}
// JavaScript Document
//=============================================
//函数名称:CreateXmlhttp
//函数功能:创建XMLHttpRequest对象
//=============================================
function CreateXmlhttp()
{
var xmlhttp=false;
try
{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined')
{
xmlhttp = new XMLHttpRequest();
if (xmlhttp.overrideMimeType)
{
//设置MiME类别
xmlhttp.overrideMimeType('text/xml');
}
}
return xmlhttp;
}
//========================================
//函数名称:echo
//函数功能:向HTML标签中添加标记
//========================================
function echo(obj,html,status)
{
//var div = eval("document.all."+obj+"");
var div = document.getElementById(obj);
if (status == "PostData")
{
div.innerHTML="<b>"+html+"</b>";
}
else
{
div.innerHTML=html;
}
}
上PostData是post方式,还有get方式:
//================================================================================
//函数名称:GetData
//函数功能:向服务器端提交数据
//函数说明:url-服务器端页面;obj-标签名称;data-提交的数据;type-服务器端处理类型
//================================================================================
function GetData(url,obj1,obj2)
{
var xmlhttp = CreateXmlhttp();
if (!xmlhttp)
{
alert("你的浏览器不支持XMLHTTP!!");
return;
}
xmlhttp.open("GET",url,true);
xmlhttp.onreadystatechange=function(){
//echo(obj1,"<div align='center' style=font-size:9pt>正在读取数据,请稍等......</div>","");
if(xmlhttp.readyState==4&&xmlhttp.responseText)
{
if (xmlhttp.status == 200)
{
var result = xmlhttp.responseText;
echo(obj2,result,"");
}
}
};
xmlhttp.send(null);
}
我做过的酒点和门票预订系统用到的函数:
function GetData(url,obj1,obj2)
{
var xmlhttp = CreateXmlhttp();
if (!xmlhttp)
{
alert("你的浏览器不支持XMLHTTP!!");
return;
}
// xmlhttp.open("GET",url,false);
// xmlhttp.onreadystatechange=function(){
// //echo(obj1,"<div align='center' style=font-size:9pt>正在读取数据,请稍等......</div>","");
// if(xmlhttp.readyState==4&&xmlhttp.responseText)
// {
// if (xmlhttp.status == 200)
// {
// var result = xmlhttp.responseText;
// //if(result.indexOf("提示")>=0)
// //{
// echo(obj2,"","");
// return result;
// //}
// //echo(obj2,result,"");
// }
// }
// };
// xmlhttp.send(null);
xmlhttp.open("GET",url,false);
xmlhttp.send(null);
if (xmlhttp.status == 200)
{
result = xmlhttp.responseText;
if(result.indexOf("提示")>=0)
{
//echo(obj2,"","");
return result;
}
echo(obj2,result,"");
}
}
function GetTicketData(url)
{
var xmlhttp = CreateXmlhttp();
if (!xmlhttp)
{
alert("你的浏览器不支持XMLHTTP!!");
return;
}
xmlhttp.open("GET",url,false);
xmlhttp.send(null);
if (xmlhttp.status == 200)
{
result = xmlhttp.responseText;
if(result.indexOf("提示")>=0)
{
//echo(obj2,"","");
return result;
}
}
}
浙公网安备 33010602011771号