代码如下:
// AJAX类
function AJAXRequest() {
var xmlObj = false
var CBfunc,ObjSelf
ObjSelf=this
try { xmlObj=new XMLHttpRequest}
catch(e) {
try { xmlObj=new ActiveXObject("MSXML2.XMLHTTP")}
catch(e2) {
try { xmlObj=new ActiveXObject("Microsoft.XMLHTTP")}
catch(e3) { xmlObj=false}
}
}
if (!xmlObj) return false
this.method="POST"
this.url
this.async=true
this.content=""
this.callback=function(cbobj) {return}
this.send=function() {
if(!this.method||!this.url||!this.async) return false
xmlObj.open (this.method, this.url, this.async)
if(this.method=="差扮POST") xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
xmlObj.onreadystatechange=function() {
if(xmlObj.readyState==4) {
if(xmlObj.status==200) {
ObjSelf.callback(xmlObj)
}
}
}
if(this.method=="POST") xmlObj.send(this.content)
else xmlObj.send(null)
}
}
AJAX请求类
激渗 by HotHeart(热血心肠)
Site: http://www.xujiwei.cn/
Blog: http://www.xujiwei.cn/blog/
类名:AJAX
创建方法:var ajaxobj=new AJAX,如果创建失败则返回false
属性:method - 请求方法,字符串,POST或者GET,默认为POST
url - 请求URL,字符串,默认为空
async - 是否异步,true为异步,false为同步,默认为true
content - 请求的内容,如果请求方法为POST需要设定此属性,默认为空
callback - 回调函数,即返明庆脊回响应内容时调用的函数,默认为直接返回,回调函数有一个参数为XMLHttpRequest对象,即定义回调函数时要这样:function mycallback(xmlobj)
方法:send() - 发送请求,无参数
一个例子:
var ajaxobj=new AJAXRequest// 创建AJAX对象
ajaxobj.method="GET"// 设置请求方式为GET
ajaxobj.url="default.asp" // URL为default.asp
// 设置回调函数,输出响应内容
ajaxobj.callback=function(xmlobj) {
document.write(xmlobj.responseText)
}
ajaxobj.send()// 发送请求
AJAX可以用在任何你要进行数据库交互的地方.但是,虽然这么说,也不能全部都用AJAX写程序.如果客户端不支持JS或者出了什么问题你这个程序就完啦...呵呵..在某些不刷新而要与数据库交互的地方可以用上这个.
我们做网站就要有良好的用户体验.
在某些要登录才能发贴的地方可以用上.比如说,用户写了好长一篇文章.提交后才发现,session过期.而导致跳转到登录页了,他写的东西那就全没了.这样对用户来说尺做,就不太友好了.所以我们可以AJAX判断一下是否要登录.再d出相应的提示.
还有就橘备是表单内容多的地方,用户填写了好几十项.提交后发现一项不合要求.返回圆困毁后又重新填写信息,这样的话,一般人都不会再去填那好几十项了.除非他真的要你网站的资源,而你又要他注册后才可用..
总之.AJAX可以用于网站的任何交互页面,但是也要注意控制量.并非都用AJAX那就是一个很棒的网站.关键还是在于用户
/*****************JS************************/var xmlHttp = false//定义一个变量用来存放XMLHttpRequest对象
//检测用户漏伏名是否唯谈汪一的请求
function createXmlHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest()
}
if(!xmlHttp &&typeof XMLHttpRequest != 'undefined')
{
xmlHttp = new XMLHttpRequest()
}
}
/*=====================动态返侍携改变页面信息开始===================================*/
//动态改变页面
function dynamicUpdate()
{
createXmlHttpRequest()
var URL = "../ServerPage.aspx?task=reset"
xmlHttp.open("GET",URL,true)
xmlHttp.onreadystatechange = dynamicUpdateInfo
xmlHttp.send(null)
}
//动态改变页面回调函数
function dynamicUpdateInfo()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
setTimeout("pollServer()",5000)
}
}
}
/********************后台************************/
protected void Page_Load(object sender, EventArgs e)
{
string task = Request.QueryString["task"].ToString()
//处理
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)