Java基础——Ajax(2)

一、jQuery 实现 ajax

$(function(){
  $("#userName").blur(function(){
  // 发ajax请求  用的函数原型: $.get(url, data, callback )
  $.get("UserServlet",{uname:$("#userName").val()},function( receiveData){
  $("#lblMsg").html(receiveData);
                   });
         });
});

//服务端UserServlet
public void doPost(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
       String userName=request.getParameter("uname");
       response.setContentType("text/html;charset=utf-8");
       response.getWriter().print("这是客户端传过来的 用户名 : "+userName+"  , 可用");  //尽量别加ln
} 

二、jQuery.ajax([options]) 详解

$("button").click(function(){
  $.ajax({
        type:"POST",   //大小写不敏感,后面别忘加  " , ""
        url:"UserServlet",   //一定要用引号扩起来
        data: {userName:$("#userName").val(),password:$("#password").val()},   // "userName=123&password=456",
        success:function(receiveData){
        $("#lblMsg").html(receiveData);
                        }
          });
       });

 //服务端
 public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      request.setCharacterEncoding("utf-8");  //对方如果是post请求,可以这样处理中文乱码

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

      response.setContentType("text/html;charset=utf-8");
      response.getWriter().print("添加成功,添加的信息是"+userName+":"+password); 
} 

参数表明

— 回调函数  beforeSend、error、dataFilter、success、complete(
当请求完结之后调用那几个函数 )

— 数据类型 dataType  /*
我们不能不保险网页服务器报告的MIME类型与我们挑选的dataType所相称。

譬如,XML的话,服务器端就务须表明 text/xml 或许 application/xml
来得到同样的结果。
要是钦赐为html类型,任何内嵌的JavaScript都会在HTML作为多少个字符串重回以前实施类似的,钦点script类型的话,也会先举行服务器端生成JavaScript,然后再把剧本作为2个文书数据重回。

1经内定为json类型,则会把获得到的多少作为贰个JavaScript对象来分析,并且把营造好的靶子作为结果再次来到,为了落到实处那几个指标,他率先尝试采纳JSON.parse()。

倘诺获得的数据文件存放在中距离服务器上(域名不一致,也正是跨域获取数据),则必要运用jsonp类型。

动用那体系型的话,会创建2个询问字符串参数 callback=?
,那个参数会加在请求的U中华VL前边。服务器端应当在JSON数码前增加回调函数名,以便形成2个实惠的JSONP请求。

只要要钦点回调函数的参数名来代表私下认可的callback,能够由此设置$.ajax()的jsonp参数。

料想服务器再次回到的数据类型。倘使不点名,jQuery 将机关遵照 HTTP 包 MIME
新闻来智能判断,比如XML
MIME类型就被辨认为XML。在壹.4中,JSON就会转移二个JavaScript对象,而script则会实施那个本子。随后服务器端重回的数据会依据这几个值解析后,传递给回调函数。

可用值: 

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

“html”: 再次回到纯文本 HTML 消息;包罗的script标签会在插入dom时实施。

“script”: 再次回到纯文本 JavaScript
代码。不会自行缓存结果。除非设置了”cache”参数。”’注意:”’在长途请求时(不在同1个域下),全数POST请求都将转为GET请求。(因为将动用DOM的script标签来加载)

“json”: 返回 JSON 数据 。

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

“text”: 重返纯文本字符串 */

–发送数据 data选项

既能够分包三个询问字符串,比如
key一=value1&key2=value二,也能够是3个映射,比如 {key1: ‘value一’, key贰:
‘value贰’} 。假使应用了后者的款式,则数据再发送器会被转换到查询字符串

–高级选项

cache  //是不是缓存 暗中认可值是true  , (dataType为script和jsonp时默许为false)

Ajax,async  //是否使用异步 默许值 为true ,暗许的气象下,全体的央求都是异步请求

contentType //默认: “application/x-www-form-urlencoded”)

context  /* 设置Ajax相关回调函数的上下文

$.ajax({ url: "test.html", context: document.body, success: function(){
$(this).addClass("done");
}}); */       

相关文章