1. 程式人生 > >load傳遞引數的三種方式(步驟詳細附程式碼,要是你們看不懂我就放棄程式設計)

load傳遞引數的三種方式(步驟詳細附程式碼,要是你們看不懂我就放棄程式設計)

方式一:直接獲取上個頁面的資料;
這種方式主要依賴load這個方法的原理,這個其實就是一個本地ajax請求,所以前後兩個頁面是互通的,其資料是可以直接拿到的。例項如下:
a頁面的程式碼:

<script>
    var adata = "12";
    $("#div").load("b.html");
    //其實上面這句話等同於ajax請求
    $.ajax({
          url : "b.html",
          type : "get",
          dataType : "html",
          success : function
(result) {
//result是可以獲取b頁面的資料和dom節點的 }, error : function() { } });
</script>

b頁面的程式碼

<script>
    $(function(){
        //b頁面是直接能夠獲取的
        console.log(adata);
        //輸出為"12"
    });
 </script>

方式二:通過post的方式傳遞,也就是在load()方法裡傳遞引數;


a頁面

$("#div").load("b.html",{adata:"12"});

那麼這個傳參的方式一般都曉得,重點在於下個頁面如何獲取傳遞的引數;
b頁面獲取方法:

<input type="hidden" id="adata" value="<%=request.getParameter("adata")%>"/>
<script>
var bdata = $("#adata").val();
console.log(bdata);//輸出為"12"
</script>

方式三:先存放在瀏覽器快取中,然後再拿出來
這種方式我前面的文章有些到過,但是還是稍微介紹下
a頁面

sessionStorage.setItem("adata","123");

b頁面

var bdata = sessionStorage.getItem("adata");
console.log(bdata);//輸出為"12"

個人不是很推薦這種方式,主要受瀏覽器快取限制,萬一有人寫了和你一樣的快取名稱,就會存在資料獲取混亂,具體的資料快取介紹在前面的文章有介紹喲。
碼字不易,希望喜歡的讀者能給個小心心關注哈