首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
.NET技术
ASP.NET
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
请教一个在asp.net关于xmlHttp的问题!谢谢!
[已结贴,结贴人:wudidzwj]
加为好友
发送私信
在线聊天
wudidzwj
该用户很懒,没有设置昵称
等级:
可用分等级:
乞丐
总技术分:
0
总技术分排名:
313963
揭贴率:
100.00%
发表于:
2008-08-19 11:30:17
楼主
是这样的:
我有两个页面,一个页面叫做ceshi.aspx,在这个页面的 <body onload="startRequest();">
然后是Javascript中:
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}else{
xmlHttp=new XMLHttpRequest();
}
}
function startRequest(){
createXMLHttpRequest();
xmlHttp.open("GET","isWebUser.aspx?url=oyangshuai",true);
//我在这里请求了一个叫做isWebUser.aspx的页面
xmlHttp.onreadystatechange=handleStateChange;
xmlHttp.send(null);
}
function handleStateChange(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200||xmlHttp.status==0){
alert(xmlHttp.responseText+" "+xmlHttp.status);
}
}
}
然后是在isWebUser.aspx中我做了这样的操作:
protected void Page_Load(object sender, EventArgs e)
//注意!我在这里加了断点!
{
string userid = "";//用户会员号
string userweb = Request.QueryString["url"];//链接请求的目标网站
if (Session["user"] == null)//判断会话状态
{
Response.Write("not login" + userweb + userid);
}
else if (userweb == null)//这个判断没什么用,请忽略
{
Response.Write("error");
}
else
{
userid = Session["user"].ToString();
DBcon t = new DBcon();
if (!t.isHaveWeb(userweb)) //这里就是一个执行成功的操作
{
t.updateIntegral(userid, "1");
Response.Write("ok");
}
else
{
Response.Write(userweb);
}
}
Response.End();
}
具体问题是这样:我点击ceshi.aspx时,在ceshi.aspx的页面呈现出的时候异步请求了isWebUser.aspx页面,应该去执行isWebUser.aspx页面的内容,
况且我在isWebUser.aspx中增加了断点,按理说每次点击ceshi.aspx时都应该在isWebUser.aspx页面中触发断点,但是我的只能是第一次点击ceshi.aspx时它才出发断点,再次点击时,无论怎么样它都不触发断点!但是还是能显示出xmlHttp.responseText,真不知道是怎么回事了,我也不知道我说的清除不清楚,希望各位高手帮忙看一看!小弟感激不尽!!
问题点数:
100
回复次数:
8
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
chinahnzl
下载软件
等级:
可用分等级:
富农
总技术分:
3684
总技术分排名:
5663
发表于:
2008-08-19 11:41:59
1
楼 得分:
15
不是只在 <body onload="startRequest();"> 中有要求去访问isWebUser.aspx这个页面吗?
onload已经完成,当然不会进去啦。。
个人看法。。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
whycom
六字
等级:
可用分等级:
掌柜
总技术分:
5754
总技术分排名:
3912
发表于:
2008-08-19 11:57:04
2
楼 得分:
15
考虑缓存,和页面事件处理方式
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
anheizhizi
目标:★★★★★
等级:
可用分等级:
富农
总技术分:
2878
总技术分排名:
7353
发表于:
2008-08-19 12:11:01
3
楼 得分:
15
"按理说每次点击ceshi.aspx时都应该在isWebUser.aspx页面中触发断点"
异步请求不是写在 <body onload="startRequest();"> 中的么? 页面加载的时候才执行啊
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
wudidzwj
该用户很懒,没有设置昵称
等级:
可用分等级:
乞丐
总技术分:
0
总技术分排名:
313963
发表于:
2008-08-19 12:28:51
4
楼 得分:
0
谢谢大家帮助了我!虽然我解决了,解决方法是在超链接上加了个target="_blank"
我觉得是这样,每次开一个新的浏览器都会实例化一个新的xmlHttp对象去请求,也就是请求一个固定的isWebUser.aspx
可是更深层次的原因我也不明白,这是我自己胡乱尝试解决的,希望高手能够告诉我究竟是为什么!
再次表示我深深的感谢!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lovehongyun
潇湘夜雨
等级:
可用分等级:
富农
总技术分:
16696
总技术分排名:
871
发表于:
2008-08-19 12:31:39
5
楼 得分:
15
你确认再次点击时触发startRequest()?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lovehongyun
潇湘夜雨
等级:
可用分等级:
富农
总技术分:
16696
总技术分排名:
871
发表于:
2008-08-19 12:37:03
6
楼 得分:
15
如果是缓存问题就加上个.
&rid=Math.random()
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
caicai_45
菜菜
等级:
可用分等级:
富农
总技术分:
1398
总技术分排名:
14839
发表于:
2008-08-19 12:37:53
7
楼 得分:
15
<body onload="startRequest();">
帅哥,你都是页面第一次加载的时候才调用的,你的点击多半没写onclick
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
gongsun
看看天空的白云
等级:
可用分等级:
掌柜
总技术分:
1085
总技术分排名:
19765
发表于:
2008-08-19 14:13:16
8
楼 得分:
10
引用 7 楼 caicai_45 的回复:
<body onload="startRequest();">
帅哥,你都是页面第一次加载的时候才调用的,你的点击多半没写onclick
呵呵。
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友