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传递参数呢?
题主这个问题需要看看http协议了,,,out.println(数据),,输出的数据会放到http协议的body里面
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是什么呢,不是网页的工具吗,或者说脚本
PrintWriter out = response.getWriter();
这个out只是一个起的名字,和网页中的out不是一个概念
我认为:ajax 本身就是用来抓取网页的源代码。
而
PrintWriter out = response.getWriter();
out.println(数据) ;
刚好把 数据打包成了我们所需要的内容 (默认在body内),
再通过ajax获取 页面源码的方式获取
PrintWriter out = response.getWriter();
String userName = request.getParameter("userName");
String responseText = "UserName"+userName;
out.println(responseText);
out是你自己起的名字,天啦噜,这块的out是PrintWriter类型的对象!!!