原生Ajax

  • Post author:
  • Post category:其他


ajax发送异步请求的四部操作



1.得到XMLHttpRequest

ajax只需掌握XMLHttpRequest

image.png



2.打开与服务器的连接

xmlHttp.open():用来打开与服务器的连接,它需要三个参数:

  1. 请求方式:GET或POST

  2. 请求的URL:指定服务器端资源,如:/day23 1/AServerlet

  3. 请求是否为异步:若为true表示发送异步请求,否则同步请求。



    xmlHttp.open(“GET”,”/day23_1/AServer”,true);




    xmlHTTP.open("POST","/day23_1/AServlet",true)



3.发送请求

​ GET:

xmlHttp.send(null);

若不给出,可能会造成部分浏览器无法发送。

参数:即请求体内容,若为GET请求,必须给出null。

​ POST:

/*设置请求头*/
xmlHTTP.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
/* 传参 */
xmlHttp.send("username=zhangsan&password=123");



4.监听器

  1. 在xmlHttp对象的一个事件上注册监听器:onreadystatechange

​ xmlHttp对象共有5个状态:

0状态:刚创建,还没有调用open()方法;

1状态:请求开始,调用了open()方法,但还没有调用send()方法;

2状态:调用完send()方法;

3状态:服务器已经开始响应,但不表示响应结束;

4状态:服务器响应结束;

  1. 得到xmlHttp对象的状态:


var state=xmlHttp.readyState;

  1. 得到响应的状态码:


var status=xmlHttp.status;

  1. 得到服务器响应的内容

    var content=xmlHttp.responseText;//得到服务器的响应的文本格式内容;
    var content=xmlHttp.responseXML;//得到服务器响应的XML内容,即Document对象;
    
    xmlHttp.onreadystatechange=function(){//这是xmlHttp的5种状态都会调用的方法
        if(xmlHttp.readystate==4&&xmlHttp.status==200{//双重判断:判断是否为4状态,且要判断是否为200//获取服务器的响应内容
            	var text=xmlHttp.reponseText;
            }
    };
    



版权声明:本文为qq_54414607原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。