我要实现的功能如下:
在一段JS代码中有个for循环,然后for中是调用封装好的AJAX方法。然后我要在for循环中每执行一次AJAX,就将返回的数据显示到页面上。这样保证下面页面显示的内容是动态刷新的。for循环中的提供这次请求的参数,这个问题有人提了,但是和我的需求有一点不一样,我的参数是放在数组中的,需要循环取,求高人指点
ajax是异步的,你要的效果可以用setTimeOut实现,DEMO:
function GetFeed() {
$.ajax({
url: '../WebService/Feed.asmx/GetFeed',
data: "{\"count\":10}",
type: 'post',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
cache: false,
success: function (data) {
//显示在页面
ShowFeed();
},
error: function (xhr) {
}
});
}
function ShowFeed() {
forrun = setInterval("GetFeed()", 5000);
}
ajax是异步的,保持页面动态刷新建议定时向服务器端发送一个请求来做,放在for循环中应该是不行的
楼上正解,ajax是异步的,你放在for循环中我感觉也是行不通的,上次我也想实现,可是没有达到预期的效果,百度了很久也没有好的解决办法。而且for执行的速度远远小于你请求返回的速度。所以很多时候你根本拿不到返回的数据,for里面的ajax已经发出新的请求了。但是 ,在我测试的时候,当你在for循环体中加入alert的话,你每次都可以拿到返回的结果,因为alter阻断了for的执行,以至于ajax有足够的时间去执行并且返回结果。
不需要放在for循环中,上面的代码就是一种循环。
参数可以通过全局变量传递。