load传递参数的三种方式(步骤详细附代码,要是你们看不懂我就放弃编程)

版权声明:如有转载请注明出处 https://blog.csdn.net/hdp134793/article/details/82493803

方式一:直接获取上个页面的数据;
这种方式主要依赖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"

个人不是很推荐这种方式,主要受浏览器缓存限制,万一有人写了和你一样的缓存名称,就会存在数据获取混乱,具体的数据缓存介绍在前面的文章有介绍哟。
码字不易,希望喜欢的读者能给个小心心关注哈

猜你喜欢

转载自blog.csdn.net/hdp134793/article/details/82493803
今日推荐