您好,欢迎访问一九零五行业门户网

如何用ajax来创建一个XMLHttpRequest对象_基础知识

我每次创建一个对象,都要这样复杂吗?如下代码:
jscript code:
testajax.htm 文件:
复制代码 代码如下:
用户:
时间:
首先声明一个保存 xmlhttprequest 对象的 xmlhttp 变量。
然后使用 xmlhttp=new xmlhttprequest() 来创建此对象。这条语句针对 firefox、opera 以及 safari 浏览器。假如失败,则尝试针对 internet explorer 6.0+ 的 xmlhttp=new activexobject(“msxml2.xmlhttp”),假如也不成功,则尝试针对 internet explorer 5.5+ 的 xmlhttp=new activexobject(“microsoft.xmlhttp”)。
假如这三种方法都不起作用,那么这个用户所使用的浏览器已经太过时了,他或她会看到一个声明此浏览器不支持 ajax 的提示。
可以不用这么麻烦,直接可以把这个函数的定义单独保存为一个js文件,在需要使用ajax的页面中引用这个文件就可以了。
如下面详解的例子:
jscript code:
复制代码 代码如下:
function createhttpobject()
{
var xmlhttp;
try
{
xmlhttp = new activexobject(msxml2.xmlhttp);
}
catch (e)
{
try
{
xmlhttp = new activexobject(microsoft.xmlhttp);
}
catch (e)
{
xmlhttp = false;
}
}
if (!xmlhttp && typeof xmlhttprequest!='undefined')
{
try
{
xmlhttp = new xmlhttprequest();
}
catch (e)
{
xmlhttp=false;
}
}
if (!xmlhttp && window.createrequest)
{
try
{
xmlhttp = window.createrequest();
}
catch (e)
{
xmlhttp=false;
}
}
return xmlhttp;
}定义上面的函数,调用时创建实例即可,如下:
jscript code:
复制代码 代码如下:
var xmlhttp = createhttpobject();
if (!xmlhttp)
{
return; //无法创建 xmlhttp 对象
}
xmlhttp.open(get, url, true);
xmlhttp.onreadystatechange = function(){handlerequest(xmlhttp, 元素id)};
xmlhttp.send(null);
也可以直接用jquery ,一句话搞定,如下代码:
复制代码 代码如下:
$(document).ready(function(){
$(#userpass).blur(function(){
var password=$(#userpass).val();
var name=$(#username).val();
if(password==||password==null){
$(#pass).html(请输入密码! );
b=false;
}else if(!/^[a-za-z0-9_]{6,16}$/.test(password)){
$(#pass).html(输入格式不正确!密码应至少6为数字或字符 );
b=false;
}else{
$.get(loginajaxpassword,{userpass:encodeuri(encodeuri(password)),username:encodeuri(encodeuri(name))},function(response){
$(#pass).html(response);
if(response==+√+){
b=true;
}
});
}
return b;
});
$(#login-submit).click(function(){
var autologin=document.getelementbyid(autologin).checked;
if(a&&b){
//if($(#autologin).attr(checked)==true){
if(autologin==true){
//${#login-user-form}.attr(action,autologin);
//$(#login-user-form).submit();
document.form.action=autologin;
document.form.submit();
}else{
//${#login-user-form}.attr(action,login);
//$(#login-user-form).submit();
document.form.action=login;
document.form.submit();
}
} else{}
});
});
其它类似信息

推荐信息