这是为了防止恶意请求,异步请求不能不间断的发送,你想想啊,如果可以不间断的发送这些东西,那在前台随便写个for循环,一直发送请求,那服务器还不立马就挂掉了你试试使用setTimeout,设置隔一段时间再发送请求。或者是请求的时候,添加一个random随机量试试。反正你这样直接不间断的发,是不行的。
解决方案 »
- 怎么用js把每个逗号前面的字符串取出来
- 号称最简便,最独立,可移植性相当高的任意2点div移动的高效js库,提供分享
- 如何实现在页面上动态画直线?
- Windows script(WScript)怎么判断文件存在不存在,在WEB里用Javascript怎么写?
- 请教我输入15就会动态增加15个文本框怎么实现?
- 窗口焦点的问题?
- 帮小女子一把!急……按钮边框设置!在线等!!
- javascript代码如何实现打开一个新页面的同时给新页面传递两个简单的数值?
- 谁能帮我找到这个网页中播放文件的Url。
- 请问如何用script执行将一个按钮按一下的动作
- 获取URL参数
- 这个变量到底是啥回事,不是一般的恐怖
这样有点解释不过吧我要是for i 1-9999 img src *.jpg?i 不是也是可以一直发。然后我修改 加上了一个高达5S的延迟- -setTimeout(function(){var sdata=get_web_by_get('/temp/test.php?id=123');
var sdata=get_web_by_get('/temp/test.php?id=124');},5*1000);
setTimeout(function(){up_data(sdata);},5*1000);
还是不行。。
var sdata=get_web_by_get('/temp/test.php?id=123');
var sdata=get_web_by_get('/temp/test.php?id=124');
},5*1000);
setTimeout(function(){up_data(sdata);},5*1000);这就是你说的延时了,你把所有的都延时到5秒之后了,那意思,还不是全部5秒之后执行的?
还是在同时发出的请求啊。function aaa(id){
var sdata,
speed = 1000;
sdata = get_web_by_get('/temp/test.php?id='+id);
setTimeout(function(){up_data(sdata);},speed);
setTimeout(function(){id++;aaa(id);},2*speed);
}
aaa(123);你这样试试,这里我没有加入结束的代码,所有就会一直发送。如果还不行,
get_web_by_get('/temp/test.php?id='+id+"&data="+(new Date().getTime()))多试试吧。
function get_web_by_get(url){var lhttp=new XMLHttpRequest();lhttp.onreadystatechange=function()
{
if(lhttp.readyState==4 && lhttp.status==200)
{
var get_result;
get_result=lhttp.responseText;
}
}
lhttp.open("GET",url,true)
lhttp.send();
return get_result;
}又试了几个好像是这个函数的问题 请求是发送出去了 也得到结果,但是结果没有作为函数的返回值诶。
你把这个定义到外面,看看,因为你这里定义到一个局部作用域去了。
所以你返回值的时候,返回的undefined。
之前发现了后来又测试了几次发现xmlhttp可以跨域提交数据但是不能获得返回的结果。
不能这么多 比如XSS遇到HTTPONLY就可以获取当前和指定界面 然后提交到自己网站。