常见的请求方式

  • 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请求

特点:

  1. 特点
  2. 支持浏览器和node.js
  3. 支持promise
  4. 能拦截请求和响应
  5. 能转换请求和响应数据
  6. 能取消请求
  7. 自动转换JSON数据
  8. 浏览器端支持防止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请求总结相关推荐

  1. 原生AJAX以及JQuery发送AJAX请求的几种方式

    JSON&AJAX 文章目录 JSON&AJAX 1. JSON 1.1 json概述 1.2 Json使用 3. 原生AJAX 4. JQuery的AJAX 4.1 GET请求方式 ...

  2. axios请求接口http_Vue使用Axios实现http请求以及解决跨域问题

    Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中.Axios的中文文档以及github地址如下: 中文:https://www.kancloud.cn/y ...

  3. ajax返回的图片数据格式,jquery发送ajax请求返回数据格式

    jquery向服务器发送一个ajax请求后,可以返回多种类型的数据格式,包括:html,xml,json,text等. 1.html格式的数据 " "+username+" ...

  4. 关于 axios 取消重复请求的分析

    前言 关于取消重复请求,最重要的是这么做的意义,而不在于代码的实现 其实,我觉得,绝大部分能够想到的应用场景,都可以通过防抖.节流方式实现,比如实时搜索,比如重复订单提交.比如上拉获取最新数据等 我们 ...

  5. fetch请求html页面,Fetch API 教程

    fetch()是 XMLHttpRequest 的升级版,用于在 JavaScript 脚本里面发出 HTTP 请求. 浏览器原生提供这个对象.本文详细介绍它的用法. 一.基本用法 fetch()的功 ...

  6. 主动取消请求的多种情况,原生Ajax、Jquery、axios、fetch

    原生Ajax 对于原生XHR对象来说,取消的ajax的关键是调用XHR对象的.abort()方法 var xhr = new XMLHttpRequest();xhr.open("GET&q ...

  7. AJAX(GET POST请求、 jQuery axios 发送请求、跨域--cors、请求超时、网络异常、放弃请求、重复发送请求)

    根据视频进行整理 [https://www.bilibili.com/video/BV1WC4y1b78y?p=1] 视频资料 百度网盘: 链接:[https://pan.baidu.com/s/1n ...

  8. jquery发送ajax请求_复习之Vue用axios发送ajax请求

    Axios是一个基于promise的HTTP库. 浏览器支持情况:Chrome.Firefox.Safari.Opera.Edge.IE8+. 官网:https://github.com/axios/ ...

  9. HTTP数据请求的方式:fetch与ajax(XMLHttpRequest)与axios

     传统 Ajax 指的是 XMLHttpRequest(XHR),最早出现的发送后端请求技术,核心使用XMLHttpRequest对象,多个请求之间如果有先后关系的话,就会出现回调地狱.JQuery ...

最新文章

  1. 快速解决mongodb出现id重复问题
  2. check_ping.py
  3. 【实验报告】四恶意代码实验
  4. 对付网络盗贼的三板斧
  5. 哈希表(散列表)知识点概述
  6. 汇编语言 DS段寄存器
  7. 新计算机无法 盘启动不了,U盘无法被电脑识别导致制作U盘启动盘失败怎么办?...
  8. 【洛谷 1057】传球游戏
  9. java会导致蓝屏么_电脑经常会蓝屏?可能是这些原因导致的
  10. win7安装后系统保留分区无法分配盘符导致无法激活原因
  11. 【推荐】泰坦尼克号乘客生存分析——用机器学习告诉你,如果你在当时的船上,有多大机率生还?
  12. python算法_02字符串(罗马类型的转换整数)
  13. 【modlearts】华为人工智能平台_modelarts平台系列教程3_预置算法_图像识别1
  14. 树莓派sd卡格式化_利用树莓派和移动硬盘搭建下载机,常见视频网站都可下载...
  15. HBase的java代码开发(完整源码)
  16. WinRAR实用技巧:一个设置,可能让多文件压缩变得更小!
  17. 以太坊原理分析(一)以太坊工作(交易)原理
  18. CF1613B Absent Remainder
  19. 吴恩达深度学习笔记(10)-更多的导数讲解
  20. 解读java.lang包下String类的API(一)

热门文章

  1. H5案例精选:互动竞速类微信h5游戏欣赏
  2. 又到了一年一度圣诞新年立志许愿的时候了
  3. 线特征LSD提取、LBD描述子匹配实现过程源码
  4. 滴滴自动驾驶 | 基础架构如何以终为始,稳定先行?
  5. 进制之间的转换(补充版)
  6. android 不把jra包编译到apk中的方法
  7. phpcms v9后台更换ueditor编辑器
  8. android pms架构图,Android PMS之启动流程
  9. 2021山西省副高考试成绩查询时间,山西省考成绩查询时间2021 山西省考时间2021成绩公布时间...
  10. 解决VS2013控制台程序运行结束不显示请按任意键继续