이 질문은 아마도 이전에 물어 보았지만 나는 그것에 awnser를 찾을 수없는 것 같습니다.Ajax를 사용하여 서블릿에서 데이터 호출
페이지가로드 될 때 서블릿 메서드를 호출하려고하는데, 서블릿이 페이지가 다시로드 된 응답을 게시하고 서블릿을 다시 호출 할 때마다 무한 루프가 발생하여 다시 페이지를 다시로드합니다. 등등.
내가 필요로하는 데이터를 수집하기 위해 서블릿에서 사용하는 URL에서 ID를 수집하고 있습니다. 다음은 현재 사용중인 코드입니다.
<form style="display:none;" action="ServletC" method="POST">
<input type="hidden" name="hdn_parameter" value="<%= request.getParameter("productID")%>"/>
<input type="submit" id="btn_loadform" name="loadform" style="display: none;"/>
<script>
document.getElementById('btn_loadform').click();
</script>
</form>
나는 페이지
<img id="picture_img" class="" style="width:300px;" src="${ImageResponse}" />
다음 코드는 내 서블릿에 걸쳐이 같은 코드의 몇 조각을 가지고
if (request.getParameter("loadform") != null)
{
int productID = Integer.parseInt(request.getParameter("hdn_parameter"));
String link = "PictureDetail.jsp?productID=" + Integer.toString(productID);
Product p = null;
try
{
p = DBConnect.getProduct(productID);
}
catch (SQLException ex)
{
Logger.getLogger(ServletC.class.getName()).log(Level.SEVERE, null, ex);
}
request.setAttribute("ImageResponse", p.getPath());
request.setAttribute("TitleResponse", p.getName());
request.setAttribute("DescriptionResponse", p.getDescription());
request.setAttribute("PriceResponse", p.getPrice());
loaded = true;
RequestDispatcher dis = request.getRequestDispatcher(link);
dis.forward(request, response);
}
는 아무도 내가 무엇을해야하는지에 저를 도울 수 이제는 페이지를 새로 고치지 않고도이 작업을 수행하여 원활하게 작동합니다.
미리 감사드립니다.
페이지를 리디렉션하면 ajax에서 response.i.e 실제 HTML 코드가 표시됩니다. 리디렉션 된 페이지 HTML을 얻게됩니다. 리디렉션하고 해당 페이지를 아약스와 함께로드하려는 경우 –