ajax冲突

来源:互联网 发布:java安装在d盘教程 编辑:程序博客网 时间:2024/06/06 02:51

    对于ajax,主要就是前台页面通过ajax向后台发送请求,问题来啦,当一个页面要用到多个ajax时,这时ajax就会冲突,此时我们会考虑到同步,什么是同步,就是会等待后台的结果执行完并且返回给ajax,然后在往下执行,异步就是不用等待返回结果直接往下执行,设置同步就是将async设置成false,异步相反。

打个比方,当我们直接去访问一个页面,并且不进行任何点击要显示后台多张表的内容的时候,此时我们会考虑到ajax,那么要显示多张表的内容,就要写多个ajax去向后台发送请求然后在返回,这时我们会发现,我们只会得到一个ajax返回的结果,而其他的就会覆盖掉,这是我们在用同步是不行,结果还是一样,这时我们就使用script事件加载来解决,代码如下

 

<script type="text/javascript">

$(function(){

//时间加载事件

 Query1();//第一张表的ajax时间

 Query2();//第二张表的ajax时间

 Query3();//第三张表的ajax时间

});

functionquery1(){

$.ajax({

url:"daoH?method=daoh",

//async:false,//同步

dataType:"json",

type:"post",

success:function(data){

}

Error:function(){

}

});

}

//最热显示

functionquery2(){

$.ajax({

//代码略

});

}

  //最新显示

functionquery3(){

$.ajax({

//代码略

});

}

</script>

Query1  query2  query3是三个不同的请求,来请求后台不同的表,我们把这三个请求写成三个function方法,然后通过事件加载来调用这三个方法,那么当我们直接去访问页面的时候,加载事件就会去执行里面的方法来向后台发送请求,最后把得到的结果显示在页面上,这样就解决了ajax冲突的问题。那么这篇文章就到这,希望能够帮助大家。