应用原生Ajax请求服务器数据
发布时间:2022-01-13 15:03 [ 我要自学网原创 ] 发布人: 快乐小女 阅读: 4540

应用原生Ajax请求服务器数据

视频

1、Ajax基本知识

(1)Ajax是异步的JavaScriptXML

(2)XML是可扩展标记语言

(3)Ajax不是新的编程语言,而是一种使用现有标准的新方法

(4)Ajax是与服务器交换数据并更新部分网页的技术,并且不需要重新加载整个页面

(5)Ajax可以是同步请求,也可以是异步请求。但是,大多数情况下,特指异步请求。因为同步的Ajax请求,对浏览器有阻塞效应

(6)常用请求类型有GETPOST请求

2、创建Ajax对象的流程步骤

(1)创建Ajax对象

(2)创建请求状态变化监听事件接收服务器响应的数据

(3)创建服务器连接

(4)向服务器发出HTTP请求

具体实现代码如下:

//01-创建Ajax对象

var xhr = new XMLHttpRequest();

//02-创建请求状态变化监听事件接收服务器响应的数据

xhr.onreadystatechange = function () {

//获取Ajax状态码

  var statusCode = this.readyState;

       

  //在最后一个阶段获取服务器响应的数据

  //ajax对象的状态码为4并且http状态码为200,就获取服务器的数据

  if (statusCode === 4 && this.status === 200) {

   //获取服务器响应数据

   var data = this.responseText;

   console.log('data ==> ', data);

}

}

//03-建立服务器连接

//xhr.open(请求类型, 请求地址, 是否异步); 默认为异步,true: 异步, false: 同步

//假设请求地址:http://127.0.0.1:10000/pro

xhr.open('GET', 'http://127.0.0.1:10000/pro', true);

//04-4-发起Ajax请求

xhr.send();

3、请求与响应头获取与设置

(1)setRequestHeader()方法设置请求头信息

(2)getAllResponseHeaders()方法返回服务器发来的所有HTTP头信息

(3)getAllResponseHeaders()方法获取所有响应头信息

(4)getResponseHeader方法返回HTTP头信息指定字段的值,如果还没有收到服务器回应或者指定字段不存在,则该属性为null

对于POST请求,需要设置请求头,以便后台服务器截取请求体

xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');

4、Ajax请求状态码

(1)0:请求未初始化,表示XMLHttpRequest实例已经生成,但是open()方法还没有被调用

(2)1:服务器连接已经建立,表示send()方法还没有被调用,仍然可以使用setRequestHeader(),设定HTTP请求的头信息

(3)2:请求已接收,表示send()方法已经执行,并且头信息和状态码已经收到

(4)3:请求处理中,表示正在接收服务器传来的body部分的数据,如果responseType属性是text或者空字符串,responseText就会包含已经收到的部分信息

(5)4:请求已经完成,并且响应成功,表示服务器数据已经完全接收,或者本次接收已经失败了

5、常用的HTTP状态码

(1)200OK,访问正常

(2)301Moved Permanently,永久移动

(3)302Move temporarily,暂时移动

(4)304Not Modified,未修改

(5)307Temporary Redirect,暂时重定向

(6)401Unauthorized,未授权

(7)403Forbidden,禁止访问

(8)404Not Found,未发现指定网址

(9)500Internal Server Error,服务器发生错误

(10)502Bad Gateway,无响应网关/代理

6、补充Ajax知识

(1)xhr.withCredentials = true; 请求时携带cookie

(2)xhr.responseType = 'json'; 设置响应数据类型, 默认为text,在这需要注意,如果设置此项,需要通过xhr.response获取服务器响应的数据

H5移动端天气APP开发教程
我要自学网商城 ¥40 元
进入购买
文章评论
0 条评论 按热度排序 按时间排序 /350
遵守中华人民共和国的各项道德法规,
承担因您的行为而导致的法律责任,
本站有权保留或删除有争议评论。
参与本评论即表明您已经阅读并接受
上述条款。
V
特惠充值
联系客服
APP下载
官方微信
返回顶部
分类选择:
电脑办公 平面设计 室内设计 室外设计 机械设计 工业自动化 影视动画 程序开发 网页设计 会计课程 兴趣成长 AIGC