ajax异步

AJAX---ASynchronous JavaScript And XML 

*在ajax之前必须要提起的--同步和异步

 1_同步: 客户端必须等服务器响应,且等的时候不能做其他的操作.

    (你在楼下等你女朋友的时候, 在等到她之前,只能干等,不能玩手机).

2_异步: 客户端不需要等待服务器响应, 请求完服务器, 客户端可以进行其他操作.

    (你告诉你女朋友,在楼下等她, 说完之后, 可以玩手机, 甚至撩妹)

 

1_Ajax:

  是一种在无需重新加载网页的情况下,能够对部分网页进行更新的技术..

    *通过在后台与服务器进行少量的数据交换,Ajax可以使网页实现异步更新,这样提升了用户的体验.

    *不使用ajax的网页,在更新内容的时候,那就得重载网页页面了.

2_实现方式

步骤:

  *创建核心对象

  *建立连接

  *发送请求

  *接收并处理来自服务器的响应结果

  1_原生的JS实现方式

 1     //1.创建核心对象
 2     var xmlhttp;
 3     if (window.XMLHttpRequest)
 4     {// code for IE7+, Firefox, Chrome, Opera, Safari
 5         xmlhttp=new XMLHttpRequest();
 6     }
 7     else
 8     {// code for IE6, IE5
 9         xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
10     }
11 
12 
13     //2. 建立连接
14     xmlhttp.open("GET","ajaxServlet?username=tom",true);
15     /*
16         参数:
17             1. 请求方式:GET、POST
18                 * get方式,请求参数在URL后边拼接。send方法为空参
19                 * post方式,请求参数在send方法中定义
20             2. 请求的URL:
21             3. 同步或异步请求:true(异步)或 false(同步)
22 
23      */
24 
25 
26     //3.发送请求
27     xmlhttp.send();
28     //* get方式,请求参数在URL后边拼接。send方法为空参
29     //* post方式,请求参数在send方法中定义
30 
31     //4.接受并处理来自服务器的响应结果
32     //获取方式 :xmlhttp.responseText
33     //什么时候获取?当服务器响应成功后再获取
34 
35     //当xmlhttp对象的就绪状态改变时,触发事件onreadystatechange。
36     xmlhttp.onreadystatechange=function()
37     {
38         //判断readyState就绪状态是否为4,判断status响应状态码是否为200
39         if (xmlhttp.readyState==4 && xmlhttp.status==200)
40         {
41            //获取服务器的响应结果
42             var responseText = xmlhttp.responseText;
43             alert(responseText);
44         }
45     }    

 

  2_JQuery实现方式

  $,ajax()   使用ajax发送异步请求

 1 //语法:  $.ajax({"键值对"});
 2 
 3 $.ajax({
 4     url:"servlet",  //请求路径
 5     type: "POST", //请求方式
 6     data:{"username":hello,"age":20},//请求参数  data: "username=hello&age=20"
 7      
 8     success:function(data){alert(data);}, //响应成功后,执行回调函数
 9     error:function(){alert("服务器出错...");},//响应出现错误,执行的回调函数
10     
11     dataType:"json",//设置接收到的响应数据格式为json
12     beforeSend:function(){},//发送ajax前执行的函数
13     complete:function(){}  //最后执行的函数
14 });

   $.get(): 发送get请求

1 //语法:  $.get(url,[data],[callback],[type])   
2   示例:  $.get(
3         "servlet",//请求路径 "/servlet/方法"   
4         {username:"hello"},//请求参数{}  多个参数键值对中间使用","号隔开
5         function(date){alert(data);},//callback回调函数
6         "json"//type 响应的结果类型
7       );

 

   $.post(): 发送post请求

1 //语法:  $.post(url,[data],[callback],[type])   
2   示例:  $.post(
3         "servlet",//请求路径 "/servlet/方法"   
4         {username:"hello"},//请求参数{}  多个参数键值对中间使用","号隔开
5         function(date){alert(data);},//callback回调函数
6         "json"//type 响应的结果类型
7       );

 

posted @ 2019-08-06 13:46  pnd  阅读(93)  评论(0编辑  收藏  举报