• 前端常用请求方法极简示范


    axios

    这是一个别人封装好的http请求库,使用时需要我们引入才能够使用。因为个人比较喜欢用这种方法请求数据所以放到第一位

    axios官方文档

    axios实例

    1. let 新的对象变量 = axios.create({
    2. baseURL: "公共前缀",
    3. timeout: 10000, // 超时时间
    4. // headers: {}
    5. })
    6. // 未来使用axios时就不能用axios,要用新的对象
    7. 新的对象变量.get()
    8. 新的对象变量.post()

    axios错误处理

    如果我们每个请求都进行错误处理,而且大部分的错误都是相同的,每次都写catch很麻烦

    axios.get().then().catch()

    如果遇到这种情况,我们就可以用axios提供的响应拦截器 解决这个问题。如果使用的是axios.create创建的实例对象,那么设置拦截器也要用新的实例对象设置。

    1. // 在代码的最上面 请求发起前
    2. axios.interceptors.response.use((response) => {
    3. // 请求成功时执行的函数 response就是请求到的结果
    4. return response
    5. }, (error) => {
    6. // 请求错误时的函数
    7. // 对公共错误进行处理
    8. if (error.code === "xxx") {
    9. alert('什么什么错误,请修复')
    10. }
    11. return Promise.reject(error)
    12. })

    GET

    1. axios.get(url, {
    2. params: {
    3. 参数名: 参数值,
    4. 参数名2: 参数值2
    5. }
    6. }).then(res => {
    7. // res.data就是对应的结果
    8. })

    POST

    1. axios.post(url, {
    2. 参数名1: 参数值1,
    3. 参数名2: 参数值2
    4. }).then(res => {
    5. // res.data就是我们的结果
    6. // 注意可以进行链式调用
    7. // 继续在括号后面.then或者.catch
    8. })

    以上两种为常用方法,剩下的很少用到所以这里我就不多巴巴了,详情参考官方文档

    ajax请求

    要发起ajax请求有很多方法,原生xhr或者fetch都可以,我们先了解xhr

    1. let xhr = new XMLHttpRequest()
    2. xhr.onload = function () {
    3. // 我们请求到的结果,就是xhr.response 或者 xhr.responseText
    4. }
    5. xhr.open("请求方法", "请求URL?请求参数")
    6. xhr.send()

    我们获取到的response是一个JSON字符串,使用时需要将其转换为JSON对象。

    JSON.parse(xhr.response)

    Fetch

    ES6中出现的替代xhr对象进行异步请求的一个对象。它默认是基于promise解决异步操作。fetch的用法很简单

    1. fetch("请求地址?参数")
    2. .then(res => res.json()) // 把请求到的结果转换为JSON对象 在我们接下来的例子中,这一步是完全固定的
    3. .then(data => {
    4. // data就是我们请求到的结果
    5. })

    Fetch的配置

    1. fetch(请求地址, {
    2. method: "", // GET POST PATCH PUT DELETE
    3. body: JSON.stringify({}), // 要传递数据 GET和delete不能写body,
    4. headers: {
    5. "Content-Type": "application/json"
    6. }
    7. }).then(res => res.json()).then(data => {
    8. // data就是请求到的数据
    9. })

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

  • 相关阅读:
    Redis——》内存最大限制
    debian和ubuntu的核心系统和系统命令的区别
    项目五 OpenStack镜像管理与制作
    数据结构(C语言版)严蔚敏--->一些操作相关数据结构的题目
    卷积神经网络梯度消失,神经网络中梯度的概念
    大数据,对于生活的改变
    全球与中国液体壁纸行业需求趋势及投资策略分析报告2022-2028年
    Sovit3D数字孪生平台 助力智慧海上风电场项目加速
    TypeScript & React(下)
    本地搭建MQTT服务器(windows和树莓派)
  • 原文地址:https://blog.csdn.net/qq_45547094/article/details/126858617