一:请求次数多的情况下我们可爱能会遇到;
二:异步执行没有返回具体参数,或者说后台显示返回success,前台显示空白;
三:网络加载失败;
以上情况我们需要配合用户体验,我们可以在终止循环提示用户网络状态加载异常,重新加载;
1、采用jQuery的ajax方式:
<script src = "jQuery.js"></script>
<body>
<button id="song">点击结束加载数据,重新开始加载</button>
</body>
<script>
var xhr = $.ajax({
type:'POST',
url:'test.json',
data:'',
success:function(){
confirm('执行成功')
}
})
alert(xhr);//执行数据显示弹窗
</script>
<script>
$(function(){
$("#song").click(function(){
alert('click');
xhr.abort();
})
})
</script>
2、原生JavaScript;根据响应状态改变关闭
xmlHttp.open("POST","Url",true);
xmlHttp.onreadystatechange=function(){
...//得到响应之后的操作
}
xmlHttp.send();
//设置3秒钟后检查xmlHttp对象所发送的数据是否得到响应.
setTimeout("CheckRequest()","3000");
function CheckRequest(){
//为4时代表请求完成了
if(xmlHttp.readyState!=4){
alert('数据响应超时');
//关闭请求
xmlHttp.close();
}
}
ok,问题结束;