jQuery Ajax頁面局部載入方法匯總_jquery

來源:互聯網
上載者:User

在jquery中實現ajax載入的方法有很多種,不像以前的js的ajax只有那一種,下面我們介紹jquery ajax實現局部載入方法總結,有需要瞭解的朋友可參考。

$.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(){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 請求從伺服器載入資料,並把返回的資料放置到指定的元素中

$(document).ready(function(){$("#addinfo").load("Service/IndexLogin.aspx", $("#addinfo li")); })

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檔案含有一個數組傳遞參數。

下面給大家介紹Jquery Ajax 頁面局部更新

Ajax 是一個非同步過程,頁面中的一部分代碼發出一個網路請求,在裡面設定一個回呼函數,如果網路請求得到返回,那麼執行回呼函數。在回呼函數中的上下文和時間觸發的上下文會有所不同,在jquery中的應用需求大多數時候是這樣的。比如我點擊了一個按鈕,這個按鈕是一個 tr 中的 td 中的內容,我可以通過這個點擊時間確定當前行的任何屬性,或者確定當前也面中的任何一個屬性,只要這個頁面的布局是又某種可控的過濾的話。需要實用到this關鍵字。還有就是 find() 方法。比如this.parent().find('tr:eq(3)'); 這是找到所有的tr中的第3個元素。

下面是兩個樣本js函數,第一個是的重點是對必須內容的擷取,通過jquery可以很方便的拿到我們需要的元素的內容。然後用這個內容實現其他的功能,同事還用jquery的方式對頁面進行操作,jquery在頁面展示中的強大作用,可見一斑。第二個函數主要是通過jquery 的ajax方式 調用指定介面,完成資料操作,然後將資料更新在頁面上。ajax的目的是局部更新頁面,有時候重新整理頁面是很不方便的。

function openRej(){// 通過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;}// 點擊某個時間出發這個函數 來對頁面進行局部更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 是從請求獲得的資料。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);// 更新頁面中對應的內容。$("#status"+current_id).text(status_text);$("#status"+current_id).css('color',color);// 執行其他的操作closeCeng();}else {alert('更新失敗');}}); }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.