AJAX请求的简单介绍

什么是ajax?

a : async   异步

j : JavaScript

a : and

x : XML

一个异步的 JavaScript 和 XML 的数据交互

ajax请求

ajax请求的本质:通过JavaScript方式,与后端程序以及数据库,进行交互

ajax请求的基本过程原理

 通过 ajax请求 向JavaScript定义好的程序,向后端发送请求以及数据,后端程序跟发送的请求以及数据,对数据库进行操作,并且获取操作结果,ajax请求,通过响应体,获取后端操作结果

优点

1,不用跳转页面,也可以在局部进行发送请求,获取响应结果

2,页面渲染,可以通过前端操作完成,减轻后端程序压力

程序执行步骤

1,创建ajax实例化对象

const xhr = new XMLHttpRequest();

2,设定ajax对象,请求信息

请求的方式

请求的对象地址

get方式

xhr.open('get' , 'url地址?键名=数值&键名=数值...');

post方式

必须要设定请求头,确保可以正确传参

xhr.setRequestHeader('content-type' , 'application/x-www-form-urlencoded');

xhr.open('post' , 'url地址');

3,发送请求

get方式,是直接发送请求

xhr.send()

post方式,需要在send()中定义参数         

xhr.send('键名=数值&键名=数值...')

4,接收响应体

 xhr.onload = function(){
                        请求结束后要执行的内容
                        请求结果,也就是响应体
                        存储在 xhr.response 中
                    }

ajax的兼容处理

创建ajax对象的方法

标准浏览器 

const xhr = new XMLHttpRequest();

低版本IE浏览器   

const xhr = new ActiveXObject('Microsoft.XMLHTTP');

接收响应,兼容处理

xhr.onload = function(){
            // 判断请求是否成功   
            if(xhr.readyState == 4 && /^2\d{2}$/.test(xhr.status)){}
        }

 ajax执行的状态码   xhr.readyState

即时请求失败,也会走完所有的执行步骤

            0 : 表示创建了ajax对象

            1 : 表示设定了ajax对象的open()方法

            2 : 表示浏览器接收到响应体,但是存储在响应报文中,无法使用

            3 : 表示浏览器正在从响应报文中分离响应体

            4 : 表示浏览器分离响应体成功,可以正常使用响应体

ajax请求的响应状态码  xhr.status

 以 2 开头 200-299 表示请求成功

                response中会有正确的响应体

            400-499 500-599 表示请求错误 

                response中会有报错信息

ajax的异步请求

ajax的请求实际上执行分为4步

1,定义建立 ajax对象   --- 同步程序

2,定义 ajax对象.open() 请求内容 --- 同步程序

参数1:请求方式

参数2:请求url地址

参数3:是否异步

     默认:异步 true

            设定:同步 false

3,发送ajax请求  --- 看 open()的设定 

根据open()的设定,来判断是否是异步

open() --- true 或者 没有第三个参数 是异步

open() --- false 是异步

4,接收请求内容

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白的蓝色生活

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值