龙猫12138
2017-10-19 06:28
采纳率: 62.9%
浏览 4.1k

servlet返回数据给ajax的时候为什么用的是out.println(数据)?

             public void doPost(HttpServletRequest request, HttpServletResponse response)  
            throws ServletException, IOException {  

        response.setContentType("text/html");  
        PrintWriter out = response.getWriter();  
        String userName = request.getParameter("userName");  
        String responseText = "UserName"+userName;  
        out.println(responseText);  
        out.close();  
    }  

上面是一个servlet的dopost方法,ajax send来一个名为username的参数。
而我想问的是,为什么servlet返回给ajax参数的时候使用的是
PrintWriter out = response.getWriter();

out.println(数据) ;

out不是用来输出网页的吗,为什么ajax能捕捉到呢?如果可以通过out向ajax传输参数,那么out还可以用来传输其他东西吗?还有没有其他的方法可以向ajax传递参数呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • 鼠小 2017-10-19 06:39
    已采纳

    题主这个问题需要看看http协议了,,,out.println(数据),,输出的数据会放到http协议的body里面

    图片说明

    图片说明

    点赞 打赏 评论
  • SimoneTao 2017-10-19 06:31

    response.setContentType(type + ";charset=UTF-8");
    response.setHeader("Pragma", "No-cache");
    response.setHeader("Cache-Control", "no-cache");
    response.setDateHeader("Expires", 0);
    PrintWriter writer = response.getWriter();
    writer.write(content);
    writer.flush();

    点赞 打赏 评论
  • 你可以以json的形式返回,取决于你返回的参数
    out输出网页,ajax是什么呢,不是网页的工具吗,或者说脚本

    点赞 打赏 评论
  • longlong3207 2017-10-19 06:41
     PrintWriter out = response.getWriter();
    

    这个out只是一个起的名字,和网页中的out不是一个概念

    点赞 打赏 评论
  • wlq199101 2017-10-19 06:50

    我认为:ajax 本身就是用来抓取网页的源代码。

     PrintWriter out = response.getWriter();
    out.println(数据) ;
    

    刚好把 数据打包成了我们所需要的内容 (默认在body内),
    再通过ajax获取 页面源码的方式获取

    点赞 打赏 评论
  • 叶不二 2017-10-19 07:02

    PrintWriter out = response.getWriter();

    String userName = request.getParameter("userName");

    String responseText = "UserName"+userName;

    out.println(responseText);

    out是你自己起的名字,天啦噜,这块的out是PrintWriter类型的对象!!!

    点赞 打赏 评论

相关推荐 更多相似问题