我有一个来自jsp页面的ajax调用,它向控制器中的ModelandView类发送请求。
在test.jsp中调用Ajax
function currentposition(l1, l2) {
var url="home/test";
var data= 'lat1=' + l1 + '&lat2=' + l2;
$.ajax({
type:"POST",
url:url,
data:data,
dataType:"json",
success:function(responseJSON){
alert(responseJSON);
}
});
}
控制器
public ModelandView gettest(@Context HttpServletRequest request) {
ModelandView responseView = new ModelandView(new JsonView());
//some code here
if (somecondition) {
response.addObject("JSONdata", vehicleID);
}
else {
System.out.println("Not present");
}
return responseView;
}
我从控制器得到test.jsp的响应,我得到了预期的结果。但是我想将结果重定向到another.jsp,其结果应该出现在下拉列表中,如下所示。
another.jsp
<select class="test" id="vehicle-id">
<option>...</option>
</select>
我该怎么做?
答案 0 :(得分:1)
尝试添加AJAX调用的成功响应:
var surl = '<%=request.getContextPath()%>/registration';
window.location.replace(surl);
答案 1 :(得分:0)
您可以尝试通过表单提交:
...
success:function(responseJSON){
var form = $('<form></form>').attr('action','another.jsp');
$(form).attr('method','POST');
var ele = $('<input type="text">').attr('name','txtjson');
$(ele).val(responseJSON);
$(ele).appendTo($(form));
$(form).appendTo('body');
$(form).submit();
}
...
然后在你的another.jsp文件中,只接收POST变量txtjson
。
答案 2 :(得分:0)
编写另一个返回another.jsp
从test.jsp
开始,提供window.location = /home/test?lat1=' + l1 + '&lat2=' + l2;
处理完json数据后,重定向到另一个控制器。