关于AJAX的知识点详解

异步和同步

我们来简单的举个例子来说明同步和异步的区别:
有一天你去商场买鞋,看到了一双款式非常喜欢的鞋子,然后试了试,非常心水,但是唯一的缺点就是你试的这双鞋子码有点大,然后你等着服务员取一双适合你的码数的新鞋,并且在等待的期间你什么也不能做,直到服务把鞋拿来你付款离开。这种情况就相当于同步;另一天你在某宝上看到一个大衣,你付款形成订单后在家里等待快递员送到家里,在等待的过程中你可以做任何事,直到衣服送到家里。而这种情况就相当于异步。
理解了同步和异步的概念,说一下他们的特点:同步强依赖,需要等待。异步弱依赖,不需要等待。

同步请求和异步请求

同步请求:
特点:请求之后刷新整张页面
基于form表单(get/post),地址栏(get),超链接(get),javaScript(get)的location.href=“”的请求
缺点:导致用户的操作被中断,造成网络流量的浪费
异步请求:
特点:请求之后页面不动,刷新局部页面
基于AJAX,javascript内置XMLHttpRequest对象发起的请求都是异步请求,存在浏览器差异

ajax简介

ajax全称:Asychronous Javascript And Xml,异步的javascript和xml,作用:在网页中发起异步请求,并实现页面局部刷新的技术,可以快速的开发动态网页。
一、ajax开发的编程思想
ajax思想编程

注意:
1、创建XMLHttpRequest对象时存在浏览器差异

  var xhr;
   if(XMLHttpRequest){
        //  IE7.0以上及其他浏览器
        xhr = new XMLHttpRequest();
   }else{
       //	IE6.0以前				
       xhr = new ActiveXObject("Microsoft.XMLHTTP");
   }

2、在发送请求时有两种方式get/post

   //get方式发送请求
   /xhr.open("get","/ajax_day1/registServlet?name="+name);
   xhr.send(null); 
   //post方式发送请求
   xhr.open("post", "/ajax_day1/registServlet");
   //设置请求头,模拟表单的post方式提交
   xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");
   xhr.send("name="+name);

3、要求响应的结果必须是完成的并且正确的
需要监听请求状态,
readyState,有以下取值:
0:未初始化,未创建连接
1:已初始化,已经创建连接
2:请求发送中3:处理请求
4:处理完成 监听响应的状态,
status,
200:ok,访问成功
404:找不到页面
500:服务端异常

xhr.onreadystatechange = function(){
    if(xhr.readyState==4 && xhr.status==200){
    	 $("#nameMsg").text(xhr.responseText);
    }
   };

积极解决军军军军

猜你喜欢

转载自blog.csdn.net/qyy_123456_qyy/article/details/83513727