我编写了一个用于处理Ajax请求的简单servlet。在服务器端,调用doPost
,但是我在响应对象中设置的数据未反映在客户端上。 (实际上,根据Firebug,我在客户端没有得到任何东西)。我正在使用jQuery来处理Ajax。
客户代码:
$.post(
'/mapped/url?param=' + $('#eleId').val(),
function(data){
alert(data);
},
"xml"
);
在服务器上:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("!!!In post!!!!");
// some calculations go here
response.setContentType("application/xml");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().write("<data><param number=\"\"></param></data>");
response.setStatus(HttpServletResponse.SC_OK);
}
提前致谢!
答案 0 :(得分:4)
您需要逐步调试此问题,因为此问题可能意味着从不正确的Servlet配置到客户端代码中的错误。
答案 1 :(得分:-1)
您可能必须显式关闭输出流 -
PrintWriter out = res.getWriter();
out.println( "Sample response" );
out.close();