我们在URL中传递数据一般都是 XX.aspx?A=1&B=2&C=你 这样传递中文也没关系,我们在后台利用Request.QueryString["C"]接受就可以了。浏览器会自动帮我们解码。
如果参数过多,这样拼接也不是很方便,这个时候我们就可以把所有的参数和值写成Json格式,然后进行传值 XX.aspx?json={"1",1,"2","2"},如果像这样写,接受的时候就只有接受一个参数了。
Json在URL中传值注意事项:
1,需要把Json字符串进行编码然后在传递
2, 如果Json字符串中出现了中文,我们在后台是无法解码的
查看ListJson
例如:
<div> <a href="WebForm1.aspx?jsonData=<%=json %>">后台写JOSN传值</a> <div id="test" style="width: 150px; height: 150px; border: solid 1px red;"> JS传值 </div> </div> <script src="../jquery.min.js"></script> <script> $("#test").click(function () { var json = { Name: "李某", Age: 22, Like: "Movies" } document.location.href = "WebForm1.aspx?jsonData=" + escape(JSON.stringify(json));//编码传值 }); </script>
页面效果
接受页面:
后台接受
我们解码不出来中文,只能使用 data["Name"]方式得到中文。
JS接受
效果:
①点击 后台传递JSON 后台解码中文不出来
②点击 JS传值 后台可以解码成功
我们用JS接着都可以得到这个JSON,转成对象
时间: 2024-10-09 05:29:50