扫码关注官方订阅号
认证高级PHP讲师
可以通过服务器端跳转,struts有个actionchian,反正就是可以共享request信息的方式,具体也记不得了
一般好像都是这么干的。
一个链接上包含一些参数。
然后请求到对应的控制器,由控制器查询数据。
服务器内部请求转发,forward到对应的模板页。
模板页使用jstl标签或者java脚本对数据进行渲染。
jstl
还有一种常见的方案是但用的没上面这种多。
一个链接包含一些参数。
然后请求直接响应到这个页面,在这个页面上直接将参数放到DOM中,像这样<input type="hidden" value="${query}">
<input type="hidden" value="${query}">
之后通过js读取DOM中的请求参数,发起Ajax请求,获取数据(多为json数据,也有xml或者直接字符串).
Ajax
在控制器中查询数据,然后通过org.json等工具包,转成json字符串,将字符串作为响应正文发送。
org.json
json
js通过回调函数读取数据渲染
回调函数
多说两句,一个页面的请求数最好不要太多,浏览器对同一个域名的请求是有并发数量限制的(http1.1, 好像新的http2没有这个问题)。Ajax请求的数据太多导致等待时间较长时,最好准备一个loading的动画。
另外很多时候是两者混用的。
例如一个 个人中心 之类的页面。
页面头部个人资料之类的信息,通过第一种直接在响应时显示。
旁边的tab标签每点击一个,内容展示的DOM通过AjaxLload一次。
AjaxL
当然还有一种做法是把所有数据都放到DOM里,点击tab标签,通过控制DOM的display进行展示。
1、ulr传值 第一个界面: var myurl = "indexshouye.html" + "?" + "id=lilindaxia"; window.location.assign(myurl);//发送到下一个界面 第二个界面: var url=location.href;//解析这个"indexshouye.html?id=lilindaxia"字符串。 2、session传值: 第一个界面: sessionStorage.setItem("id","lindaxia"); 第二个界面: sessionStorage.getItem("id")
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
可以通过服务器端跳转,struts有个actionchian,反正就是可以共享request信息的方式,具体也记不得了
一个链接上包含一些参数。
然后请求到对应的控制器,由控制器查询数据。
服务器内部请求转发,forward到对应的模板页。
模板页使用
jstl标签或者java脚本对数据进行渲染。一个链接包含一些参数。
然后请求直接响应到这个页面,在这个页面上直接将参数放到DOM中,像这样
<input type="hidden" value="${query}">之后通过js读取DOM中的请求参数,发起
Ajax请求,获取数据(多为json数据,也有xml或者直接字符串).在控制器中查询数据,然后通过
org.json等工具包,转成json字符串,将字符串作为响应正文发送。js通过
回调函数读取数据渲染多说两句,一个页面的请求数最好不要太多,浏览器对同一个域名的请求是有并发数量限制的(http1.1, 好像新的http2没有这个问题)。
Ajax请求的数据太多导致等待时间较长时,最好准备一个loading的动画。
例如一个 个人中心 之类的页面。
页面头部个人资料之类的信息,通过第一种直接在响应时显示。
旁边的tab标签每点击一个,内容展示的DOM通过
AjaxLload一次。当然还有一种做法是把所有数据都放到DOM里,点击tab标签,通过控制DOM的display进行展示。
1、ulr传值
第一个界面:
var myurl = "indexshouye.html" + "?" + "id=lilindaxia";
window.location.assign(myurl);//发送到下一个界面
第二个界面:
var url=location.href;//解析这个"indexshouye.html?id=lilindaxia"字符串。
2、session传值:
第一个界面:
sessionStorage.setItem("id","lindaxia");
第二个界面:
sessionStorage.getItem("id")