如何能让后台在响应完一次操作后再响应下一次操作


我是jsp+servlet没有用任何框架,我在做地图放大,缩小,用监听滚轮事件,进行放大,缩小,但是传输图片肯定跟不上滚轮的速度(地图传输的是静态图片),我想可不可以,在每次前台接收到图片之后,再继续向后台提出请求,(也就是说在提出请求,到接收到这次请求的图片之间的任何请求都不发出请求),或者在后台,如果这次请求的图片没有发出去之前,其他的请求都不予处理,这个应该怎么做?如果任凭前台一直发请求,后台处理不过来。。。老是抛异常。。。

7 个解决方案

#1


return了没?

#2


用js控制提交次数吧。

1.在当前页面的设置一个共用js变量var send = false;
2.当前页面每次提交前判断一下,send == false时,提交。
3.当前页面onload后,父页面的send设置为true;

#3


我每次都只刷新图片那部分,不是整个页面都刷新,我是通过这种方式刷新图片的:
document.getElementById("imgeamap").src="eamap?toolcount=3" + "&ptx=" + ssxx + "&pty=" + ssyy;
这个onload函数应该怎么写?图片时放在div中
<div id="impea"  style="width:1200px; height:500px; border:1px solid #000; overflow:hidden;"> 
<img id="imgeamap" src="eamap" >
 </div>
eamap是个servlet

#4


我是这样写的<img id="imgeamap" src="eamap" onload="send()" >,我的理解是,每次图片加载完成后,执行send()函数,也就是,设一个变量send,开始为false,每次图片加载完成后设为true,每次加载图片前检测send是否为true,是true才向后台提交请求,但是这样很快就出现问题了,传不了几张图片,send就一直是false了,不再向后台提交图片了。
function send()
{
send=true;
}

#5


onload 当图像装载完毕时调用的事件句柄。 
LZ是不是当作装载前的事件句柄了?

#6


1。关键在于控制用户滚动,LZ的方法没有控制住。
单纯在js,好控制,单纯在servlet也好控制。但是,LZ现在应该是要在js和servlet里同时控制。
所以最好用ajax了。
也就是说send=false;放的位置不对,要防在,ajax执行完后的地方。
2。两个请求可以设置2个变量来控制。
3。通过ajax的同步可以避免并发执行。

#7


 每次到这个页面从新load一下 应该就可以把。
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告