我知道這個問題可能以前曾被問過,但我似乎無法找到它上面的awnser。使用Ajax從servlet中調用數據
我想在加載頁面時調用一個servlet方法,此時這是一個無限循環,因爲每當servlet發佈響應時頁面被重新加載並再次調用再次調用的servlet,然後再次重新加載頁面等等等。
我正在從url中收集一個ID,然後在servlet中使用它來收集我需要的數據。 這是我目前使用的代碼。
<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}" />
下面的代碼是在我的servlet得到了這樣的代碼一對夫婦件
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.if你想重定向和加載該頁面出Ajax – 2014-12-02 13:11:48