2013-08-28 63 views
1

回到阿賈克斯,我有我的AJAX功能如下:如何將數據從Java Servlet的

$.ajax({ 
    type: 'GET', 
    url: "/myservlet", 
    data: { 
    objects: '2', 
    dimension: '2', 
    }, 
    success: function(data) { 
    console.log(data); 
    alert(data); 
    }, 
    error:function(data,status,er) { 
    alert("error: "+data+" status: "+status+" er:"+er); 
    } 
}); 

,我有我的servlet來處理髮送到/ myservlet數據。我從ajax教程中讀到,它說成功函數中的數據是ajax從服務器端獲得的數據。但我不知道如何設置這些數據,或者將這些數據從Java servlet中的doGet方法返回到前端。看起來doGet是一個無效的方法,不能返回任何值,不是嗎?我是網頁開發的新手,提前致謝!

回答

0

你不需要從doGet方法返回任何東西,感染你不能,因爲它是無效的。因此,您需要做的是從響應中獲取PrintWriter對象,並將數據寫入該對象,並且這些對象將在成功函數中提供。

2

您可以通過在response.getWriter().write("");上寫入來從servlet獲取數據。

這是一個簡單的servlet示例。

@WebServlet(name = "MyServlet", urlPatterns = {"/myservlet"}) 
public class MyServlet extends HttpServlet { 
    @Override 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 

     response.setContentType("text/html;charset=UTF-8"); 
     response.getWriter().write("Success Data"); 
    } 
} 
0

您可能注意到doGet()方法有兩個參數:HttpServletRequest和HttpServletResponse。

您使用的HttpServletRequest獲取有關請求的信息 - 任何參數,調用客戶端IP,網址等

http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html

您可以使用HttpServletResponse的填充響應。 HttpServletResponse有許多方法允許您設置響應標頭和數據。

http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponse.html

相關問題