方式一:onload

 xhr.onload = function (){console.log(xhr.responseText);}

方式二:

  • Ajax状态码:

  • 在创建ajax对象,配置ajax对象,发送请求,以及接收完服务器端响应数据,这个过程中的每一个步骤都会对应一个数值,这个数值就是ajax状态码。

  • 5个状态码

  • 0:请求未初始化(还没有调用open())
    1:请求已经建立,但是还没有发送(还没有调用send())
    2:请求已经发送 (发送过程中状态是不断变化的 send方法不可以直接输出属性值 需要下面事件)
    3:请求正在处理中,通常响应中已经有部分数据可以用了
    4:响应已经完成,可以获取并使用服务器的响应了

 xhr.readyState // 获取Ajax状态码
  • onreadystatechange 事件
 // 当Ajax状态码发生变化时xhr.onreadystatechange = function () {// 判断当Ajax状态码为4时if (xhr.readyState == 4) {// 获取服务器端的响应数据console.log(xhr.responseText);}}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><script type="text/javascript">var xhr = new XMLHttpRequest();// 状态码为0 已经创建了ajax对象 但是还没有对ajax对象进行配置console.log(xhr.readyState);xhr.open('get', 'http://localhost:3000/readystate');// 1 已经对ajax对象进行配置 但是还没有发送请求console.log(xhr.readyState);// 当ajax状态码发生变化的时候出发xhr.onreadystatechange = function() {// 2 请求已经发送了// 3 已经接收到服务器端的部分数据了// 4 服务器端的响应数据已经接收完成console.log(xhr.readyState);// 对ajax状态码进行判断 如果状态码的值为4就代表数据已经接收完成了if (xhr.readyState == 4) {console.log(xhr.responseText);}} //该事件写在上面 ,因为请求已经发送 再去监听事件已经晚了xhr.send();</script>
</body>
</html>

区别:


推荐使用onload事件(执行效率更高)来写:

<script type="text/javascript">// 1.创建ajax对象var xhr = new XMLHttpRequest();// 2.告诉Ajax对象要向哪发送请求,以什么方式发送请求// 1)请求方式 2)请求地址xhr.open('get', 'http://localhost:3000/responseData');// 3.发送请求xhr.send();// 4.获取服务器端响应到客户端的数据xhr.onload = function (){// console.log(typeof xhr.responseText)// 将JSON字符串转换为JSON对象(服务器端写的json数据到了客户端就变成了json字符串)var responseText = JSON.parse(xhr.responseText);// 测试:在控制台输出处理结果console.log(responseText)// 将数据和html字符串进行拼接var str = '<h2>'+ responseText.name +'</h2>';// 将拼接的结果追加到页面中document.body.innerHTML = str;}</script>

Ajax获取服务器端响应数据的两种方式相关推荐

  1. 向服务器端提交数据的两种方式

    朴素版:                                                                                                 ...

  2. Servlet获取Excel中数据的两种方式

    Servlet解析Excel文件的两种方式 简单分享一下Servlet通过解析Excel文件得到其中数据的两种方式 第一种:前端获取 思路:通过layui的第三方插件 layui.excel 解析ex ...

  3. html中获取modelandview中的json数据_从Bitmap中获取YUV数据的两种方式

    从Bitmap中我们能获取到的是RGB颜色分量,当需要获取YUV数据的时候,则需要先提取R,G,B分量的值,然后将RGB转化为YUV(根据具体的YUV的排列格式做相应的Y,U,V分量的排列) 所以这篇 ...

  4. ajax加载vue数据,详解使用Vue.Js结合Jquery Ajax加载数据的两种方式

    整理文档,搜刮出一个使用vue.js结合jquery ajax加载数据的两种方式的代码,稍微整理精简一下做下分享. 废话不多说,直接上代码 html代码 demo {{message }} 测试jqu ...

  5. Spark-Streaming获取kafka数据的两种方式-Receiver与Direct的方式

    Spark-Streaming获取kafka数据的两种方式-Receiver与Direct的方式,可以从代码中简单理解成Receiver方式是通过zookeeper来连接kafka队列,Direct方 ...

  6. 【REACT NATIVE 系列教程之十三】利用LISTVIEW与TEXTINPUT制作聊天/对话框获取组件实例常用的两种方式...

    本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2346.html ...

  7. Spark读取Hive数据的两种方式与保存数据到HDFS

    Spark读取Hive数据的两种方式与保存数据到HDFS Spark读取Hive数据的方式主要有两种 1. 通过访问hive metastore的方式,这种方式通过访问hive的metastore元数 ...

  8. ajax的data传参的两种方式

    ajax的data传参的两种方式 本文为转载. 1.[javascript] view plaincopy   /** * 订单取消 * @return {Boolean} 处理是否成功 */ fun ...

  9. jquery ajax提交表单数据的两种方式

    jquery ajax提交表单数据的两种方式 转载于:https://www.cnblogs.com/zhujiabin/p/4912364.html

最新文章

  1. 协方差中的正相关与负相关 指的是线性代数中的线性相关
  2. 一文看透全球光伏“大跃进”发展历程
  3. 大学python和vb哪个简单-vb和python哪个速度快
  4. 2019 最全阿里天猫Java 3面真题,含面试题答案!
  5. webstorm 左侧文件目录树(不显示,怎么办?) - 设置篇
  6. Matlab使用过程中内存不足问题的总结(修改)
  7. 细数AVPlayer的那些坑
  8. CTO:不要在代码中写 set/get 方法了,逮一次罚款...
  9. ubuntu 20.04 编译yocto 错误集锦
  10. 【转】【信息学奥赛一本通】题解目录
  11. 第十一章 软件能力成熟度模型
  12. 全球及中国图书出版发行业营销策略与运行前景分析报告2022版
  13. 在Debian中网卡的设置
  14. java咖啡机_JAVA咖啡机2010款
  15. linux cat 颜色,使用lolcat为您的Linux终端带来彩虹般美丽的色彩
  16. 中国微团·国京酒业:白酒进入人体后
  17. Linux NFS服务
  18. 奥比中光astra 摄像头采集深度图和RGB图像(小白版)
  19. 如何将CAD转换为WMF格式图片?
  20. Echarts数据可视化图表的简单配置

热门文章

  1. java setAttribute的使用
  2. python中key=lambda_排序后的语法(key=lambda:…)
  3. JavaScript内存溢出
  4. Python实战——选择最佳旅游攻略,让旅游更加便捷(爬虫实战)
  5. VS2008 使用小技巧-------快捷键
  6. 计算机耐火等级不低于,网络信息安全知识:网吧营业场所应设置在耐火等级不低于()级的建筑物内。...
  7. awk 分隔符_awk 命令快速入门
  8. C++(数据结构与算法):30---散列(哈希)表的介绍(散列函数、散列冲突、散列溢出)
  9. 离线环境使用vscode的remote-docker方式开发的环境搭建
  10. 详细设计说明书部分样例