如何发送单个Ajax请求而不是两个

时间:2011-06-02 11:53:29

标签: ajax jsp servlets

我有一个JSP页面,其中包含一个带有输入文本的表单。当我提交时,它会转到servlet。 servlet使用request.setAttribute()处理并创建一些对象并在请求中设置。然后它转发到一个页面,该页面包含一些使用servlet中设置的对象的自定义JSP标记。

我想用Ajax替换它。我已经实现了如下:

首先,使用POST通过Ajax提交表单,先前使用request.setAttribute()设置的对象将转换为JSON字符串并作为响应发送。成功之后,对JSP页面进行另一次Ajax GET调用,该页面包含我的自定义标记,并且JSON字符串作为参数传递。此Ajax调用的响应在div中设置。

但它是两个Ajax请求。我怎样才能使它成为一个Ajax请求呢?

1 个答案:

答案 0 :(得分:0)

根据评论,您只需要将第一个请求转发到所需的JSP,而不是返回JSON字符串,然后将该字符串传递回JSP。

request.getRequestDispatcher("/WEB-INF/next.jsp?jsonstring=" + jsonstring).forward(request, response);