背景
我正在使用 spring MVC 和 hibernate
jquery 代码片段
$(document).ready(function() {
$( "#dialog" ).dialog();
$('#tableDiv').load('genCityInqGV.htm?type=0&number=1');
$( "#dialog" ).dialog('close');
} );
在@Controller中
@RequestMapping(value = "/genCityInqGV", method = RequestMethod.GET)
public String genCityInqGV() {
try {
while(true){
System.out.println("Print");
}
} catch (Exception ex) {
log.error("Exception.." + ex);
}
return "gen/genCityInqGV";
}
在 Controller 中,我编写了有限循环来检查对话框功能是否正常工作? 但对话仍将关闭。这意味着执行以下语句。
$( "#dialog" ).dialog('close');
在下一个之后
$('#tableDiv').load('genCityInqGV.htm?type=0&number=1');
当我检查屏幕时,以下语句仍然打印
System.out.println("Print");
连后端load函数的过程还在处理,为什么dialog('close')语句执行。
更新我!
最佳答案
在使用 Spring MVC 之前,您的代码是什么样的,因为原理应该保持不变。
jquery load() 加载是异步的,因此下一条语句可以很好地在加载完成之前执行。
也许您可以在加载后使用回调来解决这个问题(也许这是您之前所做的?)。请看How to load page synchronously using jQuery .
尝试:
$('#tableDiv').load('genCityInqGV.htm?type=0&number=1', function(){
$( "#dialog" ).dialog('close');
});
关于java - jquery 与 spring mvc 在 java 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16874068/