xhr.onreadystatechange=f1;
xhr.send('username='+$F('username'));

注意:
因为按照http协议的要求,如果发送的post请求,请求数据包里面,应该有一个消息头content-type。但是,ajax对象默认没有,所以,需要调用setRequestHeader方法。
3)编写服务器端的代码,服务器端一般不需要返回完整的页面,只需要返回部分的数据,比如一个简单的字符串。
4)编写器
functionf1(){
if(xhr.readyState==4){
//获得服务器返回的数据
vartxt=xhr.responseText;
//dom操作
}
}
<scripttype="text/javascript">
function$(id)//ajax常用函数的定义
{
returndocument.getElementById(id);
}
function$F(id) {
returndocument.getElementById(id).value;
}
functiongetXhr()//获取XMLHttpRequest
{
varxhr;
if(window.XMLHttpRequest){
xhr=newXMLHttpRequest();//非ie浏览器
}else{
xhr=newActiveXObject('Microsoft.XMLHttp');//ie浏览器
}
}
GET方式:
functioncheck_name()
{
//第一步:获得ajax对象
varxhr=getXhr();
//第二步:发送请求
xhr.open('get','check_name.action?name='+$F('uname'),true);
//第三步:ajax函数:注册一个事件器
xhr.onreadystatechange=function() //此函数为匿名函数,内部函数
{
//只有ajax对象的readyState值为4时,才能获得服务器返回的数据
if(xhr.readyState==4)
{
//获得服务器返回的文本数据
vartxt=xhr.responseText;
//更新页面
${'name_msg'}.innerHTML=txt;
}
}
$('name_msg').innerHTML='正在验证....';
//第四步:发送请求
xhr.send(null);
}
POST方式:
functioncheck_name()
{
//第一步:获得ajax对象
varxhr=getXhr();
//第二步:发送请求
xhr.open('post','check_name.action',true);
xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
//第三步:ajax函数
xhr.onreadystatechange=function() //此函数为匿名函数,内部函数
{
//只有ajax对象的readyState值为4时,才能获得服务器返回的数据
if(xhr.readyState==4)
{
//获得服务器返回的文本数据
vartxt=xhr.responseText;
//更新页面
${'name_msg'}.innerHTML=txt;
}
}
$('name_msg').innerHTML='正在验证....';
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-61569-2.html
苍蝇也是要防的