为什么readyState=1,高手帮忙看下

zbdbao 2009-04-12 09:50:11
如题,在servlet中执行的代码都正确,PrinterWriter打印出来的也有信息的,就是一直是readyState=1
本人刚开始学习Ajax,希望高手解决下,帮忙看下
<%@page pageEncoding="UTF-8"%>
<html>
<head>
<script type="text/javascript">
try{
var client = new XMLHttpRequest();
}catch(e){
function sendRequest(form)
{
var requestURL = "/validate/email.ajax";//
requestURL += "?time=" + new Date().getTime()+"&email="+form.email.value;
client.open("GET",requestURL,true);
client.onreadystatechange = handResponse();
client.send(null);
}
function handResponse()
{
if(client.status [code=HTML]
== 4)
{
alert(responseText);
if(client.status==200){
message = client.responseText;
document.getElementById("email_info").innerHTML = message;
}
}

}
</script>
</head>
<body>
<form>
<table>
<tr>
<td>
<input type="text" name="email" onBlur="sendRequest(this.form);" />
<span id="email_info"></span>
</td>
</tr>
</table>
</form>
</body>
</html>[/code]
...全文
674 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
phoenixad 2011-03-11
  • 打赏
  • 举报
回复
非常感谢!
zbdbao 2009-04-14
  • 打赏
  • 举报
回复
谢了,确实是括号的原因
Ghost_520 2009-04-13
  • 打赏
  • 举报
回复

try{
var client = new XMLHttpRequest();
}catch(e){
function sendRequest(form)
{
var requestURL = "/validate/email.ajax";//
requestURL += "?time=" + new Date().getTime()+"&email="+form.email.value;
client.open("GET",requestURL,true);
client.onreadystatechange = handResponse();
client.send(null);
}



1. client.onreadystatechange = handResponse; // 不要括号, 即

2. Ajax 是不是 new 错了?


// 创建 XMLHTTP 请求
function createRequestObject() {
var ro;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
ro = new ActiveXObject("Microsoft.XMLHTTP");
}else{
ro = new XMLHttpRequest();
}
return ro;
}

var http = createRequestObject();


3. 在 handResponse 中打印出 alert(client.readyState); 看看什么值,值为 4表示成功。
zbdbao 2009-04-13
  • 打赏
  • 举报
回复
怎么没有人理的……郁闷
zbdbao 2009-04-12
  • 打赏
  • 举报
回复
不好意思,刚没发好
zbdbao 2009-04-12
  • 打赏
  • 举报
回复
<%@page pageEncoding="UTF-8"%>
<html>
<head>
<script type="text/javascript">
try{
var client = new XMLHttpRequest();
}catch(e){
function sendRequest(form)
{
var requestURL = "/validate/email.ajax";//
requestURL += "?time=" + new Date().getTime()+"&email="+form.email.value;
client.open("GET",requestURL,true);
client.onreadystatechange = handResponse();
client.send(null);
}
function handResponse()
{
alert(client.status);
if(client.status == 4)
{
message = client.responseText;
document.getElementById("email_info").innerHTML = message;
}

}
</script>
</head>
<body>
<form>
<table>
<tr>
<td>
<input type="text" name="email" onBlur="sendRequest(this.form);" />
<span id="email_info"> </span>
</td>
</tr>
</table>
</form>
</body>

52,797

社区成员

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

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