jQuery Ajax页面局部加载方法汇总
在jquery中实现ajax加载的方法有很多种,不像以前的js的ajax只有那一种,下面我们介绍jqueryajax实现局部加载方法总结,有需要了解的朋友可参考。
例
$.ajax({ url:"hotelQuery!queryHotelByCity.action", type:"post", dataType:"html", data:"queryHotel.city="+cityobj.value+"&queryHotel.wbcid="+wbcid, success:function(data){ $("#hotellists").html($(data).filter("#list").html()); } });
代码解析:
从上面的代码我们可以看出,返回的数据是data,但是我们如果在要ajax请求的页面的那部分用id为list的一个DIV包围起来,这样我们通过$(data).filter("#list").html()就可以拿到DIV中的HTML内容
实例
$(document).ready(function(){ functionloadMessage() { $(this).html("loading..."); varo=this; varxmlhttp=$.ajax({ url:"Service/IndexLogin.aspx", dataType:"html", success:function(result) { $(o).html(result); } }); } loadMessage.call($("#addinfo")); }); <formaction="#"method="post"> <ulid="addinfo"> 加载中... </ul> </form>
上面我们使用的是的方法,其实还有更简单的办法哦,load()方法通过AJAX请求从服务器加载数据,并把返回的数据放置到指定的元素中
$(document).ready(function(){ $("#addinfo").load("Service/IndexLogin.aspx",$("#addinfoli")); })
1.加载一个php文件,该php文件不含传递参数$("#myID").load("test.php");
//在id为#myID的元素里导入test.php运行后的结果
2.加载一个php文件,该php文件含有一个传递参数
$("#myID").load("test.php",{"name":"Adam"});
//导入的php文件含有一个传递参数,类似于:test.php?name=Adam
3.加载一个php文件,该php文件含有多个传递参数。注:参数间用逗号分隔
$("#myID").load("test.php",{"name":"Adam","site":"61dh.com"});
//导入的php文件含有一个传递参数,类似于:test.php?name=Adam&site=61dh.com
4.加载一个php文件,该php文件以数组作为传递参数
$("#myID").load("test.php",{'myinfo[]',["Adam","61dh.com"]});
//导入的php文件含有一个数组传递参数。
下面给大家介绍JqueryAjax页面局部更新
Ajax是一个异步过程,页面中的一部分代码发出一个网络请求,在里面设置一个回调函数,如果网络请求得到返回,那么执行回调函数。在回调函数中的上下文和时间触发的上下文会有所不同,在jquery中的应用需求大多数时候是这样的。比如我点击了一个按钮,这个按钮是一个tr中的td中的内容,我可以通过这个点击时间确定当前行的任何属性,或者确定当前也面中的任何一个属性,只要这个页面的布局是又某种可控的过滤的话。需要实用到this关键字。还有就是find()方法。比如this.parent().find('tr:eq(3)');这是找到所有的tr中的第3个元素。
下面是两个示例js函数,第一个是的重点是对必须内容的获取,通过jquery可以很方便的拿到我们需要的元素的内容。然后用这个内容实现其他的功能,同事还用jquery的方式对页面进行操作,jquery在页面展示中的强大作用,可见一斑。第二个函数主要是通过jquery的ajax方式调用指定接口,完成数据操作,然后将数据更新在页面上。ajax的目的是局部更新页面,有时候刷新页面是很不方便的。
functionopenRej() { //通过jquery找到当前链接同行的其他内容,这里拿到了ID。 id=$(this).parent().parent('tr').find('td:eq(0)').html(); $("#TB_overlayBG").css({ display:"block",height:$(document).height() }); $(".box").css({ left:($("body").width()-$(".box").width())/2-20+"px", top:($(window).height()-$(".box").height())/2+$(window).scrollTop()+"px", display:"block" }); current_id=id; } //点击某个时间出发这个函数来对页面进行局部更 functiondoReject(){ varobj=$(".boxinput:checked"); varrej_reason=''; varother=$("#otherbox#other_reject_reason").val(); rej_reason+="`"+other; if(rej_reason=="`"){ window.alert('亲,至少要填写一个原因哦!'); return; } url="youurl?id="+current_id+"&reject_reason="+rej_reason; $.getJSON(url,function(data){ //data是从请求获得的数据。 if(data.msg==true){ //updatedataincurrentline. color=get_color(data.status); $("#rej_reason"+current_id).text(data.rea); status_text=gen_status_text(data.status); //更新页面中对应的内容。 $("#status"+current_id).text(status_text); $("#status"+current_id).css('color',color); //执行其他的操作 closeCeng(); }else{ alert('更新失败'); } }); }