gpt4 book ai didi

javascript - Java 变量未在 Javascript 的 setinterval 内更新

转载 作者:太空宇宙 更新时间:2023-11-04 11:09:25 25 4
gpt4 key购买 nike

嗨,我目前正在开发一个 Web 应用程序,其中我的 Java 代码将不断从数据库中获取数据并更新其自己的静态变量。当我在控制台中输出时,我可以确认该变量正在不断更新,但是当我想在我的 Javascript 函数(位于我的 .jsp 代码中)中使用此变量时,它始终采用初始值并且永远不会更新,尽管位于 SetInterval 函数中。

以下是我访问 Java 静态变量的 Javascript 段。

function moveMarker(map,marker){

setInterval( function(){
document.write(<%=DbManager.latitude%>);
},5000);
}

DbManager.latitude 变量始终保持其默认值,尽管在 Web 应用程序运行时不断更改。我期待得到解决此问题的任何答案,或者可能是我想要实现的目标的替代方案。

最佳答案

最好使用 AJAX 来实现此目的。

<script type="text/javascript">

$(document).ready(function() {
setInterval(ajaxCall, 5000); // 5 MS
});

function ajaxCall() {
$.ajax({
type: "POST",
url: "/getUpdate/" ,
success: function(result) {
document.write(result);
}
}
});
</script>

从 AJAX 调用您的 servlet/ Controller 并获取更新的值

@Controller
@RequestMapping(value = "clause")
public class ClauseController {

@RequestMapping(value="getUpdate")
@ResponseBody
public String selectClause(ModelMap model) {
DbManager dbManager = DAO.getDbManager;
return "dbManager.latitude";
}
}

关于javascript - Java 变量未在 Javascript 的 setinterval 内更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46190520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com