2

我的ajax函数如下:

$.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 是一个 void 方法,不能返回任何值,不是吗?我是Web开发的大一新生,在此先感谢!

4

3 回答 3

3

您可以通过写入从 servlet 获取数据response.getWriter().write("");

这是一个简单的 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");
    }   
}
于 2013-08-28T04:56:09.800 回答
0

你不需要从doGet方法中返回任何东西,事实上你不能因为它是无效的。

因此,您需要做的是PrintWriter从响应中获取对象并向其写入数据,这将在成功函数中可用。

于 2013-08-28T04:34:11.943 回答
0

您可能会注意到 doGet() 方法有两个参数:HttpServletRequest 和 HttpServletResponse。

您使用 HttpServletRequest 获取有关请求的信息 - 任何参数、调用客户端 IP、URL 等。

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

于 2013-08-28T12:02:48.093 回答