[code]
<script>
var http_request;
//发送请求到url
function send_request(url){
//是否为window的Activex对象
if (window.ActiveXObject){
http_request = new ActiveXObject("Microsoft.XMLHttp");
}
if(!http_request){
alert("无法创建http_request");
}
//当request对象状态改变时候绑定个函数
http_request.onreadystatechange=processRequest;
//设置request打开目标
http_request.open("GET",url,true);
//发送请求
http_request.send(null);
}
//处理请求函数
function processRequest(){
//当请求完成时候
if (http_request.readyState==4){
//IE浏览状态码为200是正常,否则404,500等错误
if(http_request.status==200){
//接收到数据后的工作
//返回的文本数据
var s = http_request.responseText;
document.all.usernameMsg.innerHTML=s;
}else{
alert("Exception");
}
}
}
function checkName(){
var uname = regForm.username.value;
var url="<%=request.getContextPath()%>/reg.do?task=checknameAjax&username="+uname;
send_request(url);// 向服务器发送请求
}
</script>
[/code]
遇到问题:在用ajax时,不能刷新页面,否则ajax无效!例如在表单提交时要验证用户输入信息的合法性,如果选择用submit来提交表单并在提交时也一并做ajax的检查。那么ajax是无效的。你的客户端是接收不到服务器返回的信息的。只有把表单中要验证的内容用url+参数的形式传递,ajax才有效。一句话:用到ajax的页面不能刷新!
<script>
var http_request;
//发送请求到url
function send_request(url){
//是否为window的Activex对象
if (window.ActiveXObject){
http_request = new ActiveXObject("Microsoft.XMLHttp");
}
if(!http_request){
alert("无法创建http_request");
}
//当request对象状态改变时候绑定个函数
http_request.onreadystatechange=processRequest;
//设置request打开目标
http_request.open("GET",url,true);
//发送请求
http_request.send(null);
}
//处理请求函数
function processRequest(){
//当请求完成时候
if (http_request.readyState==4){
//IE浏览状态码为200是正常,否则404,500等错误
if(http_request.status==200){
//接收到数据后的工作
//返回的文本数据
var s = http_request.responseText;
document.all.usernameMsg.innerHTML=s;
}else{
alert("Exception");
}
}
}
function checkName(){
var uname = regForm.username.value;
var url="<%=request.getContextPath()%>/reg.do?task=checknameAjax&username="+uname;
send_request(url);// 向服务器发送请求
}
</script>
[/code]
遇到问题:在用ajax时,不能刷新页面,否则ajax无效!例如在表单提交时要验证用户输入信息的合法性,如果选择用submit来提交表单并在提交时也一并做ajax的检查。那么ajax是无效的。你的客户端是接收不到服务器返回的信息的。只有把表单中要验证的内容用url+参数的形式传递,ajax才有效。一句话:用到ajax的页面不能刷新!