笔记:load传递参数的三种方式

2,430 阅读1分钟

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"