Ajax请求,JQuery发送请求,Axios请求,Fetch请求总结
常见的请求方式
- 1.Ajax请求
- 定义:
- 同步与异步的区别:
- Ajax的工作原理:
- 实现AJAX的基本步骤:
- Get请求:
- Post请求:
- 2.JQuery发送请求
- Get请求:
- Post请求:
- 3.Axios请求
- 特点:
- Get请求:
- Post请求:
- 4.Fetch请求
- 特点
- Get请求:
- Post请求:
1.Ajax请求
定义:
Ajax是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
同步与异步的区别:
同步提交:当用户发送请求时,当前页面不可以使用,服务器响应页面到客户端,响应完成,用户才可以使用页面。
异步提交:当用户发送请求时,当前页面还可以继续使用,当异步请求的数据响应给页面,页面把数据显示出来 。
Ajax的工作原理:
客户端发送请求,请求交给xhr,xhr把请求提交给服务,服务器进行业务处理,服务器响应数据交给xhr对象,xhr对象接收数据,由javascript把数据写到页面上
实现AJAX的基本步骤:
要完整实现一个AJAX异步调用和局部刷新,通常需要以下几个步骤:
Get请求:
// 1.获取XMLHttpRequestvar xhr = new XMLHttpRequest()// 2.设置请求方式,请求地址,参数xhr.open("get","https://www.baidu.com/?callback="+fun,true)// 3.指定回调函数处理响应xhr.onreadystatechange = function(){if(xhr.readyState == 4 && xhr.status == 200){console.log(xhr.responseText)}}//4.发送请求xhr.send()
Post请求:
// 1.获取XMLHttpRequestvar xhr = new XMLHttpRequest()// 2.设置请求方式,请求地址,xhr.open("post","https://www.baidu.com",true)// 3.指定回调函数处理响应xhr.onreadystatechange = function(){if(xhr.readyState == 4 && xhr.status == 200){console.log(xhr.responseText)}}// post请求必须设置xhr.setRequestHeader("content-type", "application/x-www-form-urlencoded");// 4.发送请求xhr.send("userName="+name)
2.JQuery发送请求
JQuery发送请求,在原生Ajax基础上进行了一次封装
Get请求:
$.ajax({url : "https://www.baidu.com",data: {name: '张三',age: 18},// 请求带过去的参数,type : "get",success : function(res){// 成功后返回的数据console.log(res);},error : function (err) {console.log(err);}})
Post请求:
$.ajax({url: "https://www.baidu.com",// 请求的地址data: {name: '张三'},// 请求带过去的参数type: "POST",// 请求类型postdataType: "json",// 服务器响应的数据类型success : function(res) {// 成功后返回的数据console.log(res)// data = jQuery.parseJSON(data); // dataType指明了返回数据为json类型,故不需要再反序列化},error : function (err) {console.log(err);}
});
3.Axios请求
特点:
- 特点
- 支持浏览器和node.js
- 支持promise
- 能拦截请求和响应
- 能转换请求和响应数据
- 能取消请求
- 自动转换JSON数据
- 浏览器端支持防止CSRF(跨站请求伪造)
Get请求:
axios.get("https://www.baidu.com",{params:{type: 'pop',// 参数page: 1// 参数}
}).then(res => {// 成功后返回的结果console.log(res.data)
}).catch(err => {// 失败后返回的结果console.log(err)
})
Post请求:
axios.post("https://www.baidu.com",{firstName: 'Fred',// 参数lastName: 'Flintstone'// 参数
}).then(res => {// 成功后返回的结果console.log(res)
}).catch(err => {// 失败后返回的结果console.log(err)
})
4.Fetch请求
特点
fetch()方法与XMLHttpRequest类似,fetch也可以发起ajax请求,但是与XMLHttpRequest不同的是,fetch方式使用Promise,相比较XMLHttpRequest更加的简洁。
fetch方法的then会接收一个Response实例,值得注意的是fetch方法的第二个then接收的才是后台传过来的真正的数据,一般第一个then对数据进行处理等。
例如fetch处理JSON响应时 回调函数有一个json()方法,可以将原始数据转换为json对象
Get请求:
fetch(`https://www.baidu.com?name=${name}&age=${age}`, {method: 'GET',
}).then(res => {return res.json()// 处理响应数据}).catch(err => {console.log(err);}).then(item => {// 成功后返回的数据console.log(item );}).catch(err => {console.log(err);})
Post请求:
fetch('https://www.baidu.com', {method: 'POST', headers: {//处理请求头"Content-type": "application/x-www-form-urlencoded; charset=UTF-8"},body: JSON.stringify({// 参数email: '123@163.com'name: '张三'}),
}).then(res => {return res.json()// 处理响应数据}).catch(err => {console.log(err);}).then(item => {// 成功后返回的数据console.log(item );}).catch(err => {console.log(err);})
Ajax请求,JQuery发送请求,Axios请求,Fetch请求总结相关推荐
- 原生AJAX以及JQuery发送AJAX请求的几种方式
JSON&AJAX 文章目录 JSON&AJAX 1. JSON 1.1 json概述 1.2 Json使用 3. 原生AJAX 4. JQuery的AJAX 4.1 GET请求方式 ...
- axios请求接口http_Vue使用Axios实现http请求以及解决跨域问题
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中.Axios的中文文档以及github地址如下: 中文:https://www.kancloud.cn/y ...
- ajax返回的图片数据格式,jquery发送ajax请求返回数据格式
jquery向服务器发送一个ajax请求后,可以返回多种类型的数据格式,包括:html,xml,json,text等. 1.html格式的数据 " "+username+" ...
- 关于 axios 取消重复请求的分析
前言 关于取消重复请求,最重要的是这么做的意义,而不在于代码的实现 其实,我觉得,绝大部分能够想到的应用场景,都可以通过防抖.节流方式实现,比如实时搜索,比如重复订单提交.比如上拉获取最新数据等 我们 ...
- fetch请求html页面,Fetch API 教程
fetch()是 XMLHttpRequest 的升级版,用于在 JavaScript 脚本里面发出 HTTP 请求. 浏览器原生提供这个对象.本文详细介绍它的用法. 一.基本用法 fetch()的功 ...
- 主动取消请求的多种情况,原生Ajax、Jquery、axios、fetch
原生Ajax 对于原生XHR对象来说,取消的ajax的关键是调用XHR对象的.abort()方法 var xhr = new XMLHttpRequest();xhr.open("GET&q ...
- AJAX(GET POST请求、 jQuery axios 发送请求、跨域--cors、请求超时、网络异常、放弃请求、重复发送请求)
根据视频进行整理 [https://www.bilibili.com/video/BV1WC4y1b78y?p=1] 视频资料 百度网盘: 链接:[https://pan.baidu.com/s/1n ...
- jquery发送ajax请求_复习之Vue用axios发送ajax请求
Axios是一个基于promise的HTTP库. 浏览器支持情况:Chrome.Firefox.Safari.Opera.Edge.IE8+. 官网:https://github.com/axios/ ...
- HTTP数据请求的方式:fetch与ajax(XMLHttpRequest)与axios
传统 Ajax 指的是 XMLHttpRequest(XHR),最早出现的发送后端请求技术,核心使用XMLHttpRequest对象,多个请求之间如果有先后关系的话,就会出现回调地狱.JQuery ...
最新文章
- 快速解决mongodb出现id重复问题
- check_ping.py
- 【实验报告】四恶意代码实验
- 对付网络盗贼的三板斧
- 哈希表(散列表)知识点概述
- 汇编语言 DS段寄存器
- 新计算机无法 盘启动不了,U盘无法被电脑识别导致制作U盘启动盘失败怎么办?...
- 【洛谷 1057】传球游戏
- java会导致蓝屏么_电脑经常会蓝屏?可能是这些原因导致的
- win7安装后系统保留分区无法分配盘符导致无法激活原因
- 【推荐】泰坦尼克号乘客生存分析——用机器学习告诉你,如果你在当时的船上,有多大机率生还?
- python算法_02字符串(罗马类型的转换整数)
- 【modlearts】华为人工智能平台_modelarts平台系列教程3_预置算法_图像识别1
- 树莓派sd卡格式化_利用树莓派和移动硬盘搭建下载机,常见视频网站都可下载...
- HBase的java代码开发(完整源码)
- WinRAR实用技巧:一个设置,可能让多文件压缩变得更小!
- 以太坊原理分析(一)以太坊工作(交易)原理
- CF1613B Absent Remainder
- 吴恩达深度学习笔记(10)-更多的导数讲解
- 解读java.lang包下String类的API(一)
热门文章
- H5案例精选:互动竞速类微信h5游戏欣赏
- 又到了一年一度圣诞新年立志许愿的时候了
- 线特征LSD提取、LBD描述子匹配实现过程源码
- 滴滴自动驾驶 | 基础架构如何以终为始,稳定先行?
- 进制之间的转换(补充版)
- android 不把jra包编译到apk中的方法
- phpcms v9后台更换ueditor编辑器
- android pms架构图,Android PMS之启动流程
- 2021山西省副高考试成绩查询时间,山西省考成绩查询时间2021 山西省考时间2021成绩公布时间...
- 解决VS2013控制台程序运行结束不显示请按任意键继续