关于浏览器打开页面无法获取数据的问题,100分相送,分不多盼回

xuanhu 2008-07-22 12:34:50
关于浏览器打开页面无法获取数据的问题,打开页面得不到数据,但把该页面关闭重开浏览器又是好的。
不知道是什么原因造成的以及解决的方案。。请各位高手解决。多谢了。苦恼N天了。
网页是用asp.net与AJAX
...全文
398 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuanhu 2008-07-28
  • 打赏
  • 举报
回复
经过测试,将AJAX调用数据注销,问题依然存在。。。。。请各位大虾们救命啊
路人乙e 2008-07-28
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 xuanhu 的回复:]
平时的时候一切都是正常的。调试也无错。但在浏览的过程中会出现进度卡住的现象。出现这种现象后浏览器就再也无法打开任何页面了。只能关闭重开浏览器后又一切正常
[/Quote]
显然是速度问题

打开页面时你的ajax开始工作
由于ajax请求的负荷很大,导致浏览器假死
xuanhu 2008-07-28
  • 打赏
  • 举报
回复

function createXMLHttp()
{
var http_request;
if(window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType("text/xml");
}
}
else if (window.ActiveXObject) {
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
window.alert("can't create XMLHttpRequest object.");
return null;
}
return http_request;
}
//a路径,aa执行函数,x绑定对象,p发送形式,sendxml post的数据
function _sendx(a,aa,x,p,sendXML){
var ab=createXMLHttp();
if((!ab)&&!aa){
var ll = new Image();
ll.src=a;
ll.onload = function(){aa(x,ab.responseText);};

}else{
//stTime1=(new Date()).getTime();
ab.open((p?p:"GET"),a,true);//(p?true:false)
if(aa){
//ab.status == 200
ab.onreadystatechange=function(){if(ab.readyState==4){
var v = ab.responseText;
//stTime2=(new Date()).getTime();
//window.status=""+v.length+"? ??"+(stTime2-stTime1)+"";
aa(x,v);
}};
if(p)
{
ab.setRequestHeader("Method", "POST " + a + " HTTP/1.1");
//ab.setRequestHeader("Charset","GB2312");
ab.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8 ; ");
}
}
ab.send((sendXML?sendXML:null));
}
} ;
xuanhu 2008-07-28
  • 打赏
  • 举报
回复
主要调用AJAX代码
function createXMLHttp()
{
var http_request;
if(window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType("text/xml");
}
}
else if (window.ActiveXObject) {
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
window.alert("can't create XMLHttpRequest object.");
return null;
}
return http_request;
}
//a路径,aa执行函数,x绑定对象,p发送形式,sendxml post的数据
function _sendx(a,aa,x,p,sendXML){
var ab=createXMLHttp();
if((!ab)&&!aa){
var ll = new Image();
ll.src=a;
ll.onload = function(){aa(x,ab.responseText);};

}else{
//stTime1=(new Date()).getTime();
ab.open((p?p:"GET"),a,true);//(p?true:false)
if(aa){
//ab.status == 200
ab.onreadystatechange=function(){if(ab.readyState==4){
var v = ab.responseText;
//stTime2=(new Date()).getTime();
//window.status=""+v.length+"? ??"+(stTime2-stTime1)+"";
aa(x,v);
}};
if(p)
{
ab.setRequestHeader("Method", "POST " + a + " HTTP/1.1");
//ab.setRequestHeader("Charset","GB2312");
ab.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8 ; ");
}
}
ab.send((sendXML?sendXML:null));
}
} ;
xuanhu 2008-07-28
  • 打赏
  • 举报
回复
嗯,可能是JS调用数据量过大,加上数据库响应过慢造成的
guyan033 2008-07-23
  • 打赏
  • 举报
回复
数据量大或者服务器慢,JS卡死。
wwd252 2008-07-23
  • 打赏
  • 举报
回复
建议楼主贴出主要代码
暴龙神 2008-07-23
  • 打赏
  • 举报
回复
你看看是不是ajax异步调用的问题,我曾经碰到过这样的问题,用ajax调用后台代码时参数值还没有获取到,这是方法会执行,但是由于参数不对,所以获取不到数据,但是如果是跟踪程序,就没有问题,但是正常运行就不行!所以必须跟踪程序包括js代码!!一看就找到问题所在了!!
fengyecsdn 2008-07-23
  • 打赏
  • 举报
回复
要用AJAX 最好是学会吧页面肢解化,元素化. 这样一个统一的SERVICE可以实现通用处理.以后的页面和功能都可以简单制作出来.
fengyecsdn 2008-07-23
  • 打赏
  • 举报
回复
不知道楼主用的什么AJAX.
之前我一般用TRELERIK的套件,很漂亮,性能也高.
后来,想自己作,于是仔细研究了下MS的ASPAJAX套件. 发现MS的处理相当牛X.

自己拔代码拔出来.经过改造,实现真正的节约资源(普通的AJAX,其实页面其他东西都要执行一下,只是传输可以减少一部分,并且给用户的体验改变,要做到精确的执行部分代码,最好还是采用 AJAX + WEBSERVICE,自己作了个组件)

MS的大概思路是 为SERVICE作个脚本代理, 然后当触发页面事件后,调用脚本代理,代理内部还有并发,超时,错误,恢复数据等处理机制,保证页面不会卡死,不会失去响应.
xuStanly 2008-07-23
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 xuanhu 的回复:]
平时的时候一切都是正常的。调试也无错。但在浏览的过程中会出现进度卡住的现象。出现这种现象后浏览器就再也无法打开任何页面了。只能关闭重开浏览器后又一切正常
[/Quote]
在出现这种情况的时候查看一下系统资源的占用,如果是IE占用大估计是JS有问题。
如果是IIS服务大,则说明是后台程序有问题,多是数据库查询有问题,用MSSQL的事件探查器看一看运行的SQL语句是不是正常。
blue_summer 2008-07-22
  • 打赏
  • 举报
回复
跟断点看看代码有没有问题
江城老温 2008-07-22
  • 打赏
  • 举报
回复
数据传输的问题?
  • 打赏
  • 举报
回复
换个浏览器试试
szc21 2008-07-22
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 xuanhu 的回复:]
引用 12 楼 szc21 的回复:
可能是 ajax去取数据的时候,由于数据量大或者服务器慢,JS卡死。

你说的情况很有可能存在。但不知解决方案是什么呢?
[/Quote]

我遇到过的,当时我们的AJAX用的比较简单是自己封装的,出现这问题的时候,改善了下返回速度就解决了,(把返回结果变小或者用缓存之类)。具体问题具体分析吧
fengyecsdn 2008-07-22
  • 打赏
  • 举报
回复
ALERT()把可能的信息都输出出来.
多用这个吧 先确定问题所在. 乱猜不是办法.
xuanhu 2008-07-22
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 shadowjl 的回复:]
换台机试下,不排除是浏览器的问题
[/Quote]
已经试过,排除了浏览器问题。
xuanhu 2008-07-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 szc21 的回复:]
可能是 ajax去取数据的时候,由于数据量大或者服务器慢,JS卡死。
[/Quote]
你说的情况很有可能存在。但不知解决方案是什么呢?
wfyfngu 2008-07-22
  • 打赏
  • 举报
回复
该回复于2008-07-22 16:35:11被版主删除
ahwangyibo 2008-07-22
  • 打赏
  • 举报
回复
换台电脑试试。。。可用别的浏览器看一下
加载更多回复(10)

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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