我知道这个问题可能以前曾被问过,但我似乎无法找到它上面的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