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"