JSP通过Ajax / a href调用两次?

时间:2016-01-06 15:59:56

标签: jquery ajax jsp

我有一个带有链接的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步。这甚至可能吗?

1 个答案:

答案 0 :(得分:1)

第一次调用JSP2是在ajax post调用,但是第二次调用是在这条指令window.location = url;中,在这种情况下你不能传递ID,所以在log null 是显示。