2010-07-21 40 views
3

我想發送一個包含一些div和表的jsp頁面作爲來自彈簧框架工作的Ajax響應的一部分,有沒有什麼方法可以發送jsp作爲Ajax調用的響應如何發送Jsp作爲對Ajax調用的響應

+3

我想通過JSP你實際上是指由JSP生成的HTML。 – thelost 2010-07-21 09:01:39

回答

0

是的,有什麼神奇的這個雖然。在你的java ajax處理程序中,只需返回一個前向或重定向到你想要的jsp頁面。該響應將作爲ajax回調中的responseText提供。

您可以使用JSP生成只需要爲一種不完整的HTML片段,然後從你的服務器端處理返回此元素。然後,在JavaScript回調可以插入片段到現有的HTML likeThis

element.innerHTML = resp.responseText 
//element is the parent you want to insert to 
//resp is the parameter supplied to your callback 
3

通過AJAX發送JSP是沒有意義的,它基本上是由通過AJAX發送到瀏覽器中的JSP生成的HTML,如正確地指出了失敗。

你不需要這方面的任何服務器端的編碼。所有你需要的是在客戶端寫一些JavaScript來異步接收你的HTML。對於這一點,我會建議使用像jQuery一些JavaScript框架,否則就會讓你的生活地獄。

假設您要通過AJAX訪問的頁面有鏈接http://domain:port/mypage.htm。首先,你需要包括jQuery的在你的基地,JSP(JSP其中前者頁面已經通過Ajax加載):

<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); 
         } 
        }); 
}); 

希望它能幫助!

+0

也可以考慮使用$ .load(),如果您試圖用AJAX代替部分代碼,與JSP結合使用,您甚至可以填充模型並在AJAX JSP中使用該模型。其實,我有一個名爲AJAX,我的JSP文件夾中的文件夾,以證明這些JSP的不應該由自己來渲染,而是作爲其他頁面的一部分 – walnutmon 2010-07-21 21:04:23

相關問題