javascript - 如何在不刷新页面的情况下动态更改 html 中的 spring mvc 变量?
问题描述
我有,例如服务器端 Spring Web 服务实现
model.addObject("someData", dataString);
例如,调度程序每分钟调用一次。
然后在 html (javascript) 端
funtion timelyUpdate(){
let dataStr = "[[${someData}]]";
console.log(dataStr);
}
setInterval(function(){timelyUpdate()}, 6000);
在服务器端,变量被刷新并更新,但在 html 端没有任何变化。我怎样才能使它每次通过 setInterval() 更新 javascript 代码时,它也会更新 spring 变量而不刷新页面?
解决方案
您必须创建一个休息服务,然后开始在您的网页中使用该休息服务。例如如何做https://spring.io/guides/gs/rest-service/
但这只有在您知道服务器中的刷新率时才有效。否则,您可能不得不使用 pub/sub 架构。
您可能可以使用一个框架来完成繁重的工作,但同样取决于您要做什么,即使池化也可能会起作用。https://cometd.org/是一个可扩展的 Web 消息传递框架,如果您想试用的话!
推荐阅读
- java - 如何在不更改原始 pom 的情况下在新的 spring-boot 项目中添加 spring-boot jar 作为依赖项
- python - 来自 Django QuerySet 的嵌套字典
- javascript - mapbox 以 10 秒为间隔更新标记
- docker - 让我们加密、traefik 和 TLS
- c# - MS Teams - 阅读用户的所有消息
- java - 如何为 postgres 设置驱动程序?
- sql - sql-dev 上的错误“日期格式图片在转换整个输入字符串之前结束”,而不是 toad
- excel - 如何在 VBA 的下拉列表中选择起始值?
- express - PayPal Express Checkout 运费计算
- spring-boot - 无法启动嵌入式 tomcat 服务器