jQuery Ajax頁面局部加載方法匯總
在jquery中實現(xiàn)ajax加載的方法有很多種,不像以前的js的ajax只有那一種,下面我們介紹jquery ajax實現(xiàn)局部加載方法總結(jié),有需要了解的朋友可參考。
例
$.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()); } });
代碼解析:
從上面的代碼我們可以看出,返回的數(shù)據(jù)是data,但是我們?nèi)绻谝猘jax請求的頁面的那部分用id為list的一個DIV包圍起來,這樣我們通過$(data).filter("#list").html()就可以拿到DIV中的HTML內(nèi)容
實例
$(document).ready(function(){ function loadMessage() { $(this).html("loading..."); var o = this; var xmlhttp = $.ajax({ url:"Service/IndexLogin.aspx", dataType:"html", success:function(result) { $(o).html(result); } }); } loadMessage.call($("#addinfo")); }); <form action="#" method="post"> <ul id="addinfo"> 加載中... </ul> </form>
上面我們使用的是的方法,其實還有更簡單的辦法哦,load() 方法通過 AJAX 請求從服務(wù)器加載數(shù)據(jù),并把返回的數(shù)據(jù)放置到指定的元素中
$(document).ready(function(){ $("#addinfo").load("Service/IndexLogin.aspx", $("#addinfo li")); })
1.加載一個php文件,該php文件不含傳遞參數(shù)$("#myID").load("test.php");
//在id為#myID的元素里導(dǎo)入test.php運行后的結(jié)果
2. 加載一個php文件,該php文件含有一個傳遞參數(shù)
$("#myID").load("test.php",{"name" : "Adam"});
//導(dǎo)入的php文件含有一個傳遞參數(shù),類似于:test.php?name=Adam
3. 加載一個php文件,該php文件含有多個傳遞參數(shù)。注:參數(shù)間用逗號分隔
$("#myID").load("test.php",{"name" : "Adam" ,"site":"61dh.com"});
//導(dǎo)入的php文件含有一個傳遞參數(shù),類似于:test.php?name=Adam&site=61dh.com
4. 加載一個php文件,該php文件以數(shù)組作為傳遞參數(shù)
$("#myID").load("test.php",{'myinfo[]', ["Adam", "61dh.com"]});
//導(dǎo)入的php文件含有一個數(shù)組傳遞參數(shù)。
下面給大家介紹Jquery Ajax 頁面局部更新
Ajax 是一個異步過程,頁面中的一部分代碼發(fā)出一個網(wǎng)絡(luò)請求,在里面設(shè)置一個回調(diào)函數(shù),如果網(wǎng)絡(luò)請求得到返回,那么執(zhí)行回調(diào)函數(shù)。在回調(diào)函數(shù)中的上下文和時間觸發(fā)的上下文會有所不同,在jquery中的應(yīng)用需求大多數(shù)時候是這樣的。比如我點擊了一個按鈕,這個按鈕是一個 tr 中的 td 中的內(nèi)容,我可以通過這個點擊時間確定當(dāng)前行的任何屬性,或者確定當(dāng)前也面中的任何一個屬性,只要這個頁面的布局是又某種可控的過濾的話。需要實用到this關(guān)鍵字。還有就是 find() 方法。比如this.parent().find('tr:eq(3)'); 這是找到所有的tr中的第3個元素。
下面是兩個示例js函數(shù),第一個是的重點是對必須內(nèi)容的獲取,通過jquery可以很方便的拿到我們需要的元素的內(nèi)容。然后用這個內(nèi)容實現(xiàn)其他的功能,同事還用jquery的方式對頁面進行操作,jquery在頁面展示中的強大作用,可見一斑。第二個函數(shù)主要是通過jquery 的ajax方式 調(diào)用指定接口,完成數(shù)據(jù)操作,然后將數(shù)據(jù)更新在頁面上。ajax的目的是局部更新頁面,有時候刷新頁面是很不方便的。
function openRej() { // 通過jquery找到當(dāng)前鏈接同行的其他內(nèi)容,這里拿到了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; } // 點擊某個時間出發(fā)這個函數(shù) 來對頁面進行局部更 function doReject(){ var obj = $(".box input:checked"); var rej_reason = ''; var other = $("#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 是從請求獲得的數(shù)據(jù)。 if(data.msg == true){ // update data in current line. color = get_color(data.status); $("#rej_reason"+current_id).text(data.rea); status_text = gen_status_text(data.status); // 更新頁面中對應(yīng)的內(nèi)容。 $("#status"+current_id).text(status_text); $("#status"+current_id).css('color',color); // 執(zhí)行其他的操作 closeCeng(); }else { alert('更新失敗'); } }); }
相關(guān)文章
jquery利用event.which方法獲取鍵盤輸入值的代碼
jquery利用event.which方法獲取鍵盤輸入值的代碼,需要的朋友可以參考下。2011-10-10jQuery插件開發(fā)精品教程(讓你的jQuery更上一個臺階)
這篇jQuery插件開發(fā)教程是小編見過的最詳細的了,每個解說都很好,對于想做增強插件的朋友確實不錯的參考資料,特分享下,方便需要的朋友2015-11-11jQuery中hover方法搭配css的hover選擇器,實現(xiàn)選中元素突出顯示方法
下面小編就為大家?guī)硪黄猨Query中hover方法搭配css的hover選擇器,實現(xiàn)選中元素突出顯示方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05jquery點擊改變class并toggle的實現(xiàn)代碼
下面小編就為大家?guī)硪黄猨query點擊改變class并toggle的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05