xmlHttp.responseText 无返回值:高手请告诉我问题何在?

一个用AJAX检测用户名的简单程序:服务器程序checkUsername.jsp如下:<%Stringusername=request.getParameter("use... 一个用AJAX检测用户名的简单程序:
服务器程序checkUsername.jsp如下:
<%
String username = request.getParameter("username").trim();
if(username.equals("dongdong")){
out.print("failure");
}else{
out.print("success");
}
%>
客户端程序:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>检测用户名</title>
<script language="javascript" type="text/javascript">
function createRequest(){
var xmlHttp = false;
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (error1) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (error2) {
xmlHttp = false;
}
}
}
return xmlHttp;
}
function checkUsername(username){
var checkRet = document.getElementById("checkRet");
checkRet.innerHTML = "请稍候,正在检测用户名...";
var xmlHttp = createRequest();
var url = "checkUsername.jsp?username=" + username;
xmlHttp.open("get",url);
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
if(xmlHttp.responseText=="success"){
checkRet.innerHTML = "恭喜你,该用户名还没有被使用!";
}else if(xmlHttp.responseText=="failure"){
checkRet.innerHTML = "对不起,该用户名已经被占用!";
}
}
}
}
xmlHttp.send(null);
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<label>用户名:
<input type="text" name="uesername" onblur="checkUsername(this.value)" /><div id="checkRet"></div>
</label>
<br/>
<label>性别:
<input type="text" name="sex" />
</label>
</form>
</body>
</html>
网页运行后,一直显示“请稍候,正在检测用户名”,调试后发现HTTP就绪状态正常,但是xmlHttp.responseText返回值为空,所以 checkRet.innerHTML 的值不变。问题出在哪里,请高手指点。
展开
 我来答
Arjen___Robben
2010-10-27 · 超过17用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:29.3万
展开全部
在你请求的jsp里面加入一句 PrintWriter out=response.getWriter();
在out 前面
ccppv
2010-10-27 · TA获得超过2994个赞
知道大有可为答主
回答量:5074
采纳率:40%
帮助的人:2968万
展开全部
你在前台检测的时候,只做了200状态检测。有可能出现了其它的状态。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式