我的AJAX服务只执行一次请求,关闭浏览器再重新打开也执行一次!

xanaduwpz 2009-04-27 08:31:52
我的代码如下:
一、JSP代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head runat="server">
<title>RoleManager</title>
<%@page contentType="text/html; charset=GB2312" import="CMMN.connect.MyDBMD,java.sql.ResultSet"%>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript" type="text/javascript">

//AJAX定义
var xmlHttp = false;
function createXMLHttpRequest()
{
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}
}

function add_role_request()
{

if (xmlHttp == false){
createXMLHttpRequest();
}
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET","AddRole.jsp",true);
xmlHttp.send(null);

}
function handleStateChange()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
alert("add role is ok");
}else{
alert("other error");
}
}
}

</script></head>
<body>
<form id="Form1" method="post" runat="server" name="fm">
<input type="button" value="<<添 加" onclick="javascript:add_role_request()">
</form>
</body>
</html>
二、调用界面代码,AddRole.jsp代码如下 :
<html>
<%@page import="java.util.*,java.sql.*,CMMN.connect.*" contentType="text/html;charset=GB2312"%>
<body>
<%
System.out.println("why?????");
%>
</body>
</html>

以上是全部代码,我用是JBUILDER2005,运行时,第一次点“添加”按钮时,输出:"why?????",一切正常,跟预想的一样,但是第二次点按钮就没输出了,只有提示框alert("add role is ok");运行,当我关闭浏览器(不停止服务),重新打开浏览器后,第一次点“添加”时,跟上次运行结果一样,第二次、第三次、....再点就又没反应了。

请教一下这是怎么回事?
...全文
433 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿斯兰 2012-09-06
  • 打赏
  • 举报
回复
非常感谢5楼,我的问题也解决了
szm880828 2010-10-30
  • 打赏
  • 举报
回复
这样也行么?
timeriver_wang 2009-06-23
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xanaduwpz 的回复:]
引用 5 楼 showbo 的回复:
ie缓存的问题吧。。。。

JScript code//加时间戳
xmlHttp.open("GET","AddRole.jsp?ts="+new Date(),true);



谢谢5楼,就是这问题,解决了
[/Quote]

我也顶下,我的也解决了
xanaduwpz 2009-04-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 showbo 的回复:]
ie缓存的问题吧。。。。

JScript code//加时间戳
xmlHttp.open("GET","AddRole.jsp?ts="+new Date(),true);
[/Quote]


谢谢5楼,就是这问题,解决了
xiaojing7 2009-04-27
  • 打赏
  • 举报
回复
你对状态没有搞清楚
参看以下2篇文章http://dev.yesky.com/428/7680928.shtml
http://snowlotus.javaeye.com/blog/214425
阿非 2009-04-27
  • 打赏
  • 举报
回复
需要用xmlHttp.responseText来获得AddRole.jsp页的响应文本的
Da侠饶命 2009-04-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 showbo 的回复:]
ie缓存的问题吧。。。。
JScript code//加时间戳xmlHttp.open("GET","AddRole.jsp?ts="+newDate(),true);
[/Quote]

顶这个~
  • 打赏
  • 举报
回复
ie缓存的问题吧。。。。
//加时间戳
xmlHttp.open("GET","AddRole.jsp?ts="+new Date(),true);
一方晴空 2009-04-27
  • 打赏
  • 举报
回复
用户火狐装上FireBug,在Ajax代码上内写Debugger;在运行调试,看看Ajax是怎么运行的
xanaduwpz 2009-04-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Sandy945 的回复:]
需要用xmlHttp.responseText来获得AddRole.jsp页的响应文本的
[/Quote]

学生初学,基础知识差的很,不太明白,能讲下代码怎么写吗?

52,782

社区成员

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

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