ajax中http_request.responseText的值的问题

tomorrow855 2008-06-11 09:37:34
我这个问题题目问的不好。
没学过ajax,只是看程序的时候的问题。
<SCRIPT language=javascript>
<!--
var http_request = false;
var username_ok=false;
function send_request(url) {//初始化、指定处理函数、发送请求的函数
http_request = false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest) { //Mozilla 浏览器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {//设置MiME类别
http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) { // IE浏览器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) { // 异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}
http_request.onreadystatechange = processRequest;
// 确定发送请求的方式和URL以及是否同步执行下段代码
http_request.open("GET", url, true);
http_request.send(null);
}
// 处理返回信息的函数
function processRequest() {
if (http_request.readyState == 4) { // 判断对象状态
if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
username_ok=http_request.responseText;
// alert(username_ok);//我加的,很好很强大.已经注册是false,没有的话是true
} else { //页面不正常
alert("您所请求的页面有异常。");
}
}
}

function isok(theform)
{
//username_ok=false;
if (theform.username.value=="")
{
alert("用户名不能为空!");
theform.username.focus() ;
return (false);
}

send_request('tools/checkname.jsp?username='+theform.username.value);
alert(username_ok);//检验username_ok的值

if (username_ok==false)
{
alert("用户名已经被注册,请更换一个用户名。");
theform.username.focus();
return (false);
}
......


我的问题是 username_ok的值不是单纯的false,是不是因为http_request.responseText 以文本字符串的方式返回服务器的响应,所以值是文本字符串啊,那我还想进行如上判断,应该怎么办啊?
...全文
637 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tomorrow855 2008-06-12
  • 打赏
  • 举报
回复
是没有学过啊,就是想解决这个问题,,哎~~~~
wq610612 2008-06-11
  • 打赏
  • 举报
回复
晕死。。看来你还没有学过ajax吧。。建议你学去了解后再做
tomorrow855 2008-06-11
  • 打赏
  • 举报
回复
现在就是 if (username_ok==false)
{
alert("用户名已经被注册,请更换一个用户名。");
theform.username.focus();
return (false);
}
这里的if (username_ok==false) 有问题,,,,就想解决这儿而且测试的username_ok也对,哎,我都说不清了,,感谢楼上的,,你的方法我一时也不太会用,,,不想改动太多了,,,,
wq610612 2008-06-11
  • 打赏
  • 举报
回复
你在处理页面可以这样写啊。
if(可以查到)
out.println("noUserName");
else
out.println("useUserName");
你就可以在前台回调回来哪里处理了。
if(http_request.responseText=="noUserName")
....
else
...
tomorrow855 2008-06-11
  • 打赏
  • 举报
回复
我现在就是想解决这个问题,,,有没有方法,,,谢谢啊,,,,
wq610612 2008-06-11
  • 打赏
  • 举报
回复
这个其实很简单。。其实我觉得你写的代码不是很好。。我刚刚写了个验证的。要的话给多点分啊

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧