我有两个jsp,即test1.jsp和test2.jsp。我的程序流程如下。我想知道这里是否需要ajax?我需要检索 test1.jsp 文本框中的数据。但 ajax 调用是从不同的页面进行的。我想要 test1.jsp 中的 Controller 响应。我该怎么做?
test1.jsp
<input type="text" id="testid"/>
<input type="button" onclick="fnopenwindow()"/>
<script type="text/javascript" src="abc.js"></script>
test2.jsp
<script>
function fnsample(){
//some code
var l1=/*some value*/
var l2=/*some value*/
fnPassData(l1,l2);
}
</script>
<div id="map"> </div>
<body onload="fnsample()" >
</body>
<script type="text/javascript" src="abc.js"></script>
abc.js
function fnopenwindow(){
window.open("test2.jsp","name","width=600px;height=400px");
}
function fnPassData(l1,l2){
var url="home/test";
var data= 'var1=' + l1 + '&var2=' + l2;
$.ajax({
type:"POST",
url:url,
data:data,
dataType:"json",
success:function(responseJSON){
alert(responseJSON);
}
});
}
Controller 类
@Path("test")
public ModelandView gettest(@Context HttpServletRequest request) {
ModelandView responseView = new ModelandView(new JsonView());
//some code here
if (somecondition) {
responseView.addObject("data", dataID);
}
else {
System.out.println("Not present");
}
return responseView;
}
已编辑::
我通过ajax将一些数据从我的脚本发送到 Controller ,并返回对同一个jsp ie的响应。测试2.jsp。但我想将 Controller 的响应发送到不同的jsp,即。测试1.jsp。由于我没有刷新 test2.jsp 的任何部分,是否有其他方法可以将数据从 test2.jsp 发送到 Controller ,然后从 test1.jsp 调用 ajax 并从同一 Controller 获取数据?
最佳答案
您的怀疑绝对有道理,并且无需进行 AJAX 调用,因为调用是在 onload()
中进行的
通常,一旦文档准备好并且客户端/用户执行某些操作时,AJAX 调用很有用/应该编写。
关于java - 下面的代码中是否需要使用ajax?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24607933/