javascript网络请求
1.所有现代浏览器都通过 XMLHttpRequest 构造函数原生支持 XHR 对象:
let xhr = new XMLHttpRequest();
2.使用 XHR 对象首先要调用 open()方法。调用 open()不会实际发送请求,只是为发送请求做好准备
// 1.请求方式
// 2.url
// 3.是否异步
xhr.open("get", "example.php", false);
3.要发送定义好的请求,必须像下面这样调用 send()方法:send()方法接收一个参数,是作为请求体发送的数据。如果不需要发送请求体,则必须传 null,因为这个参数在某些浏览器中是必需的。调用 send()之后,请求就会发送到服务器
xhr.send(null);
4.响应数据
- responseText:作为响应体返回的文本。
- responseXML:如果响应的内容类型是"text/xml"或"application/xml",那就是包含响应 数据的 XML
DOM 文档。 - status:响应的 HTTP 状态。
- statusText:响应的 HTTP 状态描述。
XHR 对象有一个 readyState 属性,表示当前处在请求/响应过程的哪个阶段。每次 readyState 从一个值变成另一个值,都会触发 readystatechange 事件。这个属性有如下可能的值。
- 0:未初始化( Uninitialized)。尚未调用 open()方法。
- 1:已打开( Open)。已调用 open()方法,尚未调用 send()方法。
- 2:已发送( Sent)。已调用 send()方法,尚未收到响应。
- 3:接收中( Receiving)。已经收到部分响应。
- 4:完成( Complete)。已经收到所有响应,可以使用了。
let xhr = new XMLHttpRequest();xhr.onreadystatechange = function() {if (xhr.readyState == 4) {if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) {console.log(xhr.responseText);} else {alert("Request was unsuccessful: " + xhr.status);}}};xhr.open("get", "https://www.dmagic.cn/json/?jsonid=1460", true);xhr.send(null);
超时
给 timeout 设置 1000 毫秒意味着,如果请求没有在 1秒钟内返回则会中断。此时则会触发 ontimeout 事件处理程序, readyState 仍然会变成 4,因此也会调用 onreadystatechange 事件处理程序。不过,如果在超时之后访问 status 属性则会发生错误。为做好防护,可以把检查 status 属性的代码封装在 try/catch 语句中
xhr.timeout = 1000; // 设置 1 秒超时
xhr.ontimeout = function() {alert("Request did not return in a second.");
};
javascript网络请求相关推荐
- 深入操作系统底层分析nginx网络请求及响应过程
0. 网络传输阶段 比如说主机A是家里windows的一台笔记本电脑,主机B是linux服务器上的一个nginx,其监听80或443等web端口. 在笔记本的浏览器发送了一个http get请求,其数 ...
- Web-big、html、css、JavaScript、vue、webpack、git、微信小程序、uni-app、性能优化、兼容性、网络请求、web安全、其他
文章目录 01.HTML基础 1.行内元素有哪些?行内块元素有哪些?块级元素有哪些? 空(void)元素有哪些? 2.页面导入样式时,使用link和@import有什么区别? 3.title与h1的区 ...
- 网络编程-JavaScript中发送网络请求汇总
文章目录 1.前后端分离优势 2.HTTP协议的解析 2.1 HTTP的介绍 2.2 HTTP的组成 2.3 HTTP的版本 2.4 HTTP请求方式 2.5 HTTP请求头字段 2.6 HTTP响应 ...
- Flutter 网络请求库http
http 集成http库 https://pub.dartlang.org/packages/http 添加依赖 dependencies:http: ^0.12.0 安装 flutter packa ...
- Chrome开发者工具关于网络请求的一个隐藏技能
这个隐藏技能的背景是,最近出于学习目的,我写了一个百度贴吧的网络爬虫,专门爬取一些指定主题的贴吧帖子. 抓取帖子用的JavaScript函数如下: function getPostByAJAX(req ...
- android网络请求框架_2020,最新APP重构:网络请求框架
在现在的app,网络请求是一个很重要的部分,app中很多部分都有或多或少的网络请求,所以在一个项目重构时,我会选择网络请求框架作为我重构的起点.在这篇文章中我所提出的架构,并不是所谓的 最好 的网络请 ...
- 小程序十一:网络请求
wx.request(OBJECT) wx.request发起的是https请求.一个微信小程序,同时只能有5个网络请求连接. OBJECT参数说明: 参数名 类型 必填 说明 url Strin ...
- vue中的倒计时跳转页面问题和axios网络请求this作用域问题
一.前言 这两个是在日常开发中碰到的问题,网上都能查得到答案,但是我怕自己会忘记,姑且记录一下用作笔记吧. 二.vue倒计时跳转问题 1.案例 比如我们在一次网络请求结束之后,如果返回结果是成功,则倒 ...
- 鸿蒙开发-使用fetch发起网络请求
场景 鸿蒙基于JS搭建HelloWorld并修改国际化文件: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/118274050 在 ...
最新文章
- 博客积分规则 博客等级
- 台阶问题练习题 (简单的dp)
- .NET网络编程学习(二)
- 设置HighCharts,让它生成的图表居中显示。
- 如何避免重要需求遗漏?
- java外卖系统源码_JAVAWEB校园订餐系统项目源码 一个外卖点餐系统 - 下载 - 搜珍网...
- 如何提高NLP模型鲁棒性和泛化能力?对抗训练论文串讲
- 五分钟搭建一个MarkDown文档解析器
- WPF中INotifyPropertyChanged用法与数据绑定
- 我国家庭计算机最快方式,选择哪种方式上网对家庭电脑更实惠,更快速?
- js分页组件laypage
- 《BJBR虚拟仿真解决方案(描述精选)》(Yanlz+SteamVR+5G+AI+VR+AR+MR+HR+BR+CR+DR+ER+FR+GR+人工智能+人机交互+立钻哥哥+==)
- 转载好用的小工具 【who-lock-me】
- HTML5定稿,为什么是原生App的颠覆
- 选择婚庆公司的注意事项
- elementUI设置标签页
- Verilog语言、语法
- 微信,支付宝,收款二维码实时生成订单监控,免签支,付支付系统,个人收款,收款二维码...
- erlang使用httpc:request报错nxdomain
- 打开苹果电脑浏览器的代码
热门文章
- js获取字符长度并计算px宽度
- 什么是WebSocket?
- 详解MySQL information_schema数据库常用的表信息以及各表对应的字段信息;以及如何登录mysql和创建视图
- 初学试试看cocos2dx的TestCPP框架(4)---CCSkewTo、CCSkewBy
- (附源码)spring boot火车票订票系统 毕业设计171538
- 计算机视觉 | 2.颜色阈值蓝幕替换(cv2掩膜的设置,图像堆叠,蓝幕抠图)
- 下列统计量服从什么分布_设 ,且 是从 中抽取的样本,则统计量 服从的分布为( )。_学小易找答案...
- 关于微服务,这些你都了解吗-微服务介绍
- 2019 VisualBERT: a Simple and Performant Baseline for Vision and Language
- 无线通信使用的电磁波频率范围和波段