原生Ajax

AJAX (Asynchronous Javascript And XML)

其实就是异步的javaScript和XML。用来进行前后端的数据交互

XML:这是html标签,XML格式是一样的 可以自定义 满足标记语言的格式就可以了。

​ AJAX不是一门新语言,是综合HTTP异步通信 、JS、XML、以及JSON等多种网络技术的一种编程模型。

​ AJAX ~= JS+ xml+JSON + HTTP通信,本质就是在HTTP协议的基础上以异步的方式与服务器进行通信。

以上是一些关于ajax的简介,其实ajax大致就是用来链接前端和后端,进行数据交互的方法。写在script标签中。下面展示一下主要的代码

        var xhr;
        //考虑到兼容问题,对象的创建将分为在IE浏览器下和非IE浏览器下两种情况
        if (window.XMLHttpRequest) {
        // 非IE
            xhr = new XMLHttpRequest();
        } else {
        // IE下
            xhr = new ActiveXObject("Microsoft.XMLHTTP")
        }
        // 给xhr绑定状态改变事件
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4 && xhr.status == 200) {
            // 此处写在拿到数据后需要执行的功能
        }

        // xhr建立连接
        xhr.open('GET', './ProCitArea.php', true);
        // 
        xhr.send(null)

上面在给xhr对象绑定readyStateChange监听事件时,有用到一个条件判断。
下面解释一下两个条件分别是什么

ReadyState

readyState代表Ajax进行数据交互时的状态,主要分为四种。分别是

  1. readyState = 0 时,对应常量为unset
    XMLHttpRequest实例已生成,
    但是open()方法并未被调用。.
  2. readyState = 1 时,对应常量为opend
    send()方法未被调用,但可以被使用
    setRequestHeader()设定Http请求头
  3. readyState = 2 时,对应常量为header_received
    send()方法已执行,且头信息和状态码已收到
  4. readyState = 3 时,对应常量为loading
    正在接受服务器传来的body数据,
    若responseType属性是text或空字符串,
    responseText就会包含已收到的部分信息。
  5. readyState = 4 时,对应常量为loading
    表示服务器数据完全接收,
    或本次接收失败

Status

表示客户端的响应状态码
1xx Info 提示性信息:

100 Continue 告诉客户端继续发送请求,数据没有传输完成

101 Switching Protocols 协议转换

2xx Successful 成功的响应消息 :

200 OK 请求-响应成功

201 Created 创建成功

3xx Redirection 请求需要重定向到另一个URL:

301 Moved Permanently 请求的资源已被永久移走

303 See Other 另请参见另外一个网站

304 Not Modified 请求资源没有修改,请直接使用客户端缓存的资源,并不是报错,是指缓存命中了,也就是说请求的这个资源客户端缓存中存在

4xx Client Error 客户端错误:

400 Bad Request 无效的请求消息

402 Payment Required 请求资源没有付费

403 Forbidden 请求的资源不被允许访问

404 Not Found 请求的资源不存在

405 Method Not Allowed 请求方法不被服务器允许

414 Request-URI Too Long 请求的URI太大,无法解析
5xx Server Error 服务器端错误

500 Internal Server Error 服务器内部错误

503 Service Unavailable 服务器被攻击了

505 HTTP Version Not Supported 服务器版本太低

原文链接:https://blog.csdn.net/whz199511/article/details/81871692

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值