jquery ajax 与servlet

在servlet里面,定义了ajax要执行的内容,最后返回给ajax的调用处。但是值得注意的是,在servlet里面,定义mime类型的时注意:

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

// TODO Auto-generated method stub

System.out.println("ok");

try {

resp.setContentType("text/xml;charset=gbk");//这个其实是定义该数据在页面上如何让显示,这个是以xml格式的内容进行显示。如果不给出指定,就会按照默认的html类型进行设置mime类型

PrintWriter pw=resp.getWriter();

pw.println("<html>");

pw.println("<body>");

pw.println("<h1>登陆界面</hi>");

pw.println("<form action=?? method=post>");

pw.println("用户名:<input type=text name=username><br>");

pw.println("密码:<input type=passward name=passwd><br>");

pw.println("<input type=submit value=loing><br>");

pw.println("</body>");

pw.println("</html>");

} catch (Exception e) {

e.printStackTrace();

// TODO: handle exception

}

}

页面:

$.ajax({

type:"post",

url:"<%=path %>/s",

cache: false,

dataType: "text",//dataType是规定页面返回到页面调用出的格式,如果不给出指定,那么会按照返回的mime类型进行判断

success: function(html){

   alert(html);

}

});

dataTypeString

预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如XML MIME类型就被识别为XML。在1.4中,JSON就会生成一个JavaScript对象,而script则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值:

"xml": 返回 XML 文档,可用 jQuery 处理。

"html": 返回纯文本 HTML 信息;包含的script标签会在插入dom时执行。

"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了"cache"参数。'''注意:'''在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)

"json": 返回 JSON 数据 。

"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。

"text": 返回纯文本字符串

相关推荐