我想发送一个jsp页面,其中包含一些div和table作为弹簧框架工作的ajax响应的一部分,有没有办法发送jsp作为ajax调用的响应
答案 0 :(得分:3)
通过AJAX发送JSP毫无意义,它基本上是由JSP生成的HTML,通过AJAX发送到浏览器,正如最后一点所指出的那样。
您不需要任何服务器端编码。您所需要的只是在客户端编写一些javascript以异步接收HTML。为此,我建议使用一些像jQuery这样的javascript框架,否则会让你的生活变得地狱。
假设您要通过AJAX访问的网页包含 http://domain:port/mypage.htm 链接。首先,您需要在基础JSP(前一页必须通过AJAX加载的JSP)中包含jQuery:
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.js"></script>
然后你需要调用jQuery的ajax函数:
$(document).ready(function(){
$.ajax({
type:"GET",
url: "http://domain:port/mypage.htm",
success: function(data){
// Now you have your HTML in "data", do whatever you want with it here in this function
alert(data);
}
});
});
希望它有所帮助!
答案 1 :(得分:0)
是的,虽然这没有什么神奇之处。在你的java ajax处理程序中只返回一个转发或重定向到你想要的jsp页面。然后,响应将作为ajax回调中的responseText提供。
您可以使用jsp生成所需的元素作为一种不完整的HTML片段,然后从服务器端处理程序返回。然后在您的javascript回调中,您可以将片段插入到现有的HTML中,如此
element.innerHTML = resp.responseText
//element is the parent you want to insert to
//resp is the parameter supplied to your callback