我有一个带有链接的JSP1,该链接调用函数(Ajax)将变量传递给另一个JSP2。看起来jsp2加载了两次。知道为什么吗?
我的应用控制台日志:
my_id = 77An2J
my_id = null
JSP1代码:
<a href="#" onClick="list_edit('<%=request.getAttribute("id")%>');return false;">Edit List</a>
JSP2具有以下代码:
String my_id = request.getParameter("id");
System.out.println("my_id = " + id);
jQuery的:
function list_edit(id) {
ajax_redirect('/jsp2.jsp', { id: id });
}
function ajax_redirect(url, data) {
$.ajax({
type: "POST",
url: url,
data: data,
complete:
function() {
window.location = url;
}
});
}
编辑所以,从技术上讲,我正在努力实现以下目标: 1)Servlet读取URL,解析ID,根据ID从DB加载数据并在屏幕上打印结果。在这里,我还显示“编辑列表”链接
2)单击“编辑列表”链接必须将变量从servlet发送到JSP2,并在浏览器中加载JSP2
我坚持第2步。这甚至可能吗?
答案 0 :(得分:1)
第一次调用JSP2是在ajax post调用,但是第二次调用是在这条指令window.location = url;
中,在这种情况下你不能传递ID,所以在log null 是显示。