load傳遞引數的三種方式(步驟詳細附程式碼,要是你們看不懂我就放棄程式設計)
阿新 • • 發佈:2018-12-20
方式一:直接獲取上個頁面的資料;
這種方式主要依賴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"
個人不是很推薦這種方式,主要受瀏覽器快取限制,萬一有人寫了和你一樣的快取名稱,就會存在資料獲取混亂,具體的資料快取介紹在前面的文章有介紹喲。
碼字不易,希望喜歡的讀者能給個小心心或關注哈。