PHP利用ajax取消挂起请求的解决办法

内容摘要
这篇文章主要为大家详细介绍了PHP利用ajax取消挂起请求的简单示例,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!
我们在切换选
文章正文

这篇文章主要为大家详细介绍了PHP利用ajax取消挂起请求的简单示例,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!

我们在切换选项卡的时候,如果使用的是ajax技术,会碰到如下情况:点击tab1选项,服务器发出一个Ajax请求获取该选项tab1的内容数据。如果请求正在处理,并且在此过程中你点击了tab2选项并发送一个新的请求,服务器现在就有了两个请求挂起。页面出现的结果是,在显示的数据内容时,先显示tab1选项的内容数据,再接着显示tab2选项内容。 在这种情况下,我们应该取消tab1挂起的请求,仅允许处理当前(tab2)请求 新建一个index.html 代码如下:

代码如下:


<style><!--
*{margin:0;padding:0;}
li{list-style-type:none;}
.tab{
width:240px;
margin: 50px auto;
}
.nav ul{
clear:both;
}
.nav ul li{
margin-right: 4px;
padding: 1px 6px;
border:1px solid #ccc;
width:60px;
background: #f1f1f1;
float: left;
text-align: center;
cursor: pointer;
}
.nav ul li.selected{
color:#fff;background:blue;
}

#box{width:238px;border: 1px solid #ccc;height: 100px;clear: both;overflow: hidden;}.addBg{background: url('./img/loading.gif') no-repeat center;}--></style><script type="text/javascript" src="https://www.idcnote.com/itoks/admin/js/jquery-1.4.4.min.js"></script><script type="text/javascript">// <![CDATA[$(function(){var ajax;$.ajax({type: 'GET',url: '4.php',data: 'what=1',success:function(data){//加载成功后移除小图标// $("#box").removeClass("addBg");// $('#box').html(data);$("#box").removeClass("addBg").html(data);

},beforeSend:function() //{//加载过程中得等待小图标,先清空box的内容$("#box").html('').addClass("addBg");}});

$('.nav ul li').click(function(){

$(this).addClass('selected').siblings().removeClass('selected');var liName = $(this).attr('name');//alert(liName);//加载过程中得等待小图标,先清空box的内容$("#box").html('').addClass("addBg");

if(ajax){ajax.abort();//alert(ajax);}

ajax = $.get('4.php',{what : liName},function(data){//加载成功后移除小图标$("#box").removeClass("addBg");$('#box').html(data);});

});});// ]]></script><div class="tab"><div class="nav"><ul><li class="selected">tab 1</li><li>tab 2</li><li>tab 3</li></ul></div><div id="box">&nbsp;</div></div>

再建立一个4.php文件 代码如下:

代码如下:


<?php
/*   php教程 www.512Pic.com   */
 
sleep(1); 
if(isset($_GET['what'])) 
{ 
switch($_GET['what'])
{ 
case 1: echo '111111111111111';
break; 
case 2:
echo '22222222222222222';
break;
case 3:
echo '33333333333333333';
break;
default: echo '没有内容'; 
}
}

?>

还要建一个文件夹js,里面放一个jquery-1.4.4.min.js文件,不一定是1.4.4版本;建一个文件夹img,里面放一个loading.gif等待的图片 将index.html + 4.php + js(文件夹) +img(文件夹)放到www文件中,用浏览器运行

注:关于PHP利用ajax取消挂起请求的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!