axios数据交互

news2024/11/28 12:53:15

目录

一、axios 概念

二、官方文档

三、下载命令

四、特点

五、基本语法

六、基本案例


 

一、axios 概念

axios 是基于promise创建的http库,可以用于客户端(浏览器)和 node.js
​
官方概念:
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中

二、官方文档

http://www.axios-js.com/
​
看云:https://www.kancloud.cn/yunye/axios/234845

三、下载命令

npm i axios@0
​
axios@0.27.2

四、特点

  • 支持从浏览器中创建 XMLHttpRequests 和 node.js 创建 http 请求

  • 支持 Promise API 拦截请求和响应(特有的方法)

  • 转换请求数据和响应数据

  • 取消请求

  • 自动转换 JSON 数据

  • 客户端支持防御 XSRF (跨站请求伪造)

跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。

五、基本语法

引入axios库文件,它会暴露一个axios()方法,这个方法下面还有axios.get()axios.post()两个方法

5.1 axios({})

类似于$.ajax(),可以发起get或post请求,返回promise对象

axios({
    url:'你要请求的接口地址',
    method:'get/post', // 默认get
    // get传参
    params:{
        // 你要传入的get方式请求的入参
    },
    // post传参
    data:{
        // 你要传入的post方式请求的入参
    }
})
.then((res)=>{
    // 成功时候的响应res,axios有一个特点,返回的数据包含很多的配置信息
    // http状态码是200或者304,执行成功的逻辑(我们关心的是后端返回的res.code)
})
.catch((err)=>{
    // 错误时候的响应err
    // http状态码非200或者304,执行错误的逻辑
});

5.2 axios.get(url, {})

类似于$.get(),发起get请求,注意传参比较特别

axios.get('你要请求的接口地址',{
    params:{
        // 你要传入的get方式请求的入参,如:
        a:1,
        b:2
    }
})
.then((res)=>{
    // 成功时候的响应res,axios有一个特点,返回的数据包含很多的配置信息
    // http状态码是200或者304,执行成功的逻辑
})
.catch((err)=>{
    // 错误时候的响应err
    // http状态码非200或者304,执行错误的逻辑
})

5.3 axios.post(url, {})

类似于$.post(),发起post请求

axios.post('你要请求的接口地址',{
    // 你要传入的post方式请求的入参,如:
    a:1,
    b:2
})
.then((res)=>{
    // 成功时候的响应res,axios有一个特点,返回的数据包含很多的配置信息
    // http状态码是200或者304,执行成功的逻辑
})
.catch((err)=>{
    // 错误时候的响应err
    // http状态码非200或者304,执行错误的逻辑
})

返回的数据如下

除了data是真正的后端返回的,其它的都是axios配置的

 

六、基本案例

使用此网站的数据:JSONPlaceholder - Free Fake REST API

单起一个项目,创建pages-->axiosDemo.vue来测试,配置/axios路由

方法:

1、创建组件

2、设置路由

3、设置路由出口

1、局部调用axios

<template>
  <div>
    <h1>axios</h1>
    <ul>
      <li v-for="item in newList" :key="item.id">
        {{ item.title }}
      </li>
    </ul>
  </div>
</template>
​
<script>
import axios from "axios"; // 引入axios
export default {
  data() {
    return {
      newList: [],
    };
  },
​
  // 挂载完成时调用axios
  mounted() {
    // 类似于$.ajax();
    // axios({
    //   url: "http://jsonplaceholder.typicode.com/posts",
    // })
    //   .then((res) => {
    //     console.log(res.data); // 真实的数据在data中
    //     this.newList = res.data;
    //   })
    //   .catch((err) => {
    //     console.log(err);
    //   });
​
    // 类似于$.get()
    axios
      .get("http://jsonplaceholder.typicode.com/posts")
      .then((res) => {
        // console.log(res.data); // 真实的数据在data中
        this.newList = res.data;
      })
      .catch((err) => {
        console.log(err);
      });
  },
};
</script>

2、全局调用axios

main.js

// 引入axios,并挂载到vue的原型上
import axios from 'axios';
Vue.prototype.$axios = axios;

组件中

<template>
  <div>
    <h1>axios</h1>
    <ul>
      <li v-for="item in newList" :key="item.id">
        {{ item.title }}
      </li>
    </ul>
  </div>
</template>
​
<script>
export default {
  data() {
    return {
      newList: [],
    };
  },
​
  // 挂载完成时调用vue实例上的 axios
  mounted() {
    // 类似于$.ajax();
    this.$axios({
      url: "http://jsonplaceholder.typicode.com/posts",
    })
      .then((res) => {
        console.log(res.data);
        this.newList = res.data;
      })
      .catch((err) => {
        console.log(err);
      });
​
    // 类似于$.get()
    // this.$axios
    //   .get("http://jsonplaceholder.typicode.com/posts")
    //   .then((res) => {
    //     // console.log(res.data);
    //     this.newList = res.data;
    //   })
    //   .catch((err) => {
    //     console.log(err);
    //   });
  },
};
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/41877.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

面向OLAP的列式存储DBMS-13-[ClickHouse]的MergeTree表引擎原理解析

ClickHouse 中最重要的表引擎&#xff1a;MergeTree 的深度原理解析 首先我们了解了 MergeTree 的基础属性和物理存储结构&#xff1b;接着&#xff0c;依次介绍了数据分区、一级索引、二级索引、数据存储和数据标记的重要特性&#xff1b;最后总结了 MergeTree 上述特性一起协…

C++ Reference: Standard C++ Library reference: C Library: cwctype: iswdigit

C官网参考链接&#xff1a;https://cplusplus.com/reference/cwctype/iswdigit/ 函数 <cwctype> iswdigit int iswdigit (wint_t c); 检查宽字符是否为十进制数字 检查c是否为十进制数字字符。 十进制数字是0 1 2 3 4 5 6 7 8 9中的任意一个。 此函数是isdigit&#xff…

【Web前端基础进阶学习】HTML详解(下篇)

上篇学习到了HTML列表&#xff0c;现在从区块开始学习&#xff01; 一起学习下篇吧! 一.HTML区块 1.HTML区块元素2.HTML内联元素3.HTML的 div 元素4.HTML的 span 元素 二.HTML布局 1.使用div元素添加网页布局2.使用table元素添加网页布局 三.HTML表单和输入 1.文本域2.密码字…

压缩包密码可以删除吗?

压缩包文件设置了密码&#xff0c;但是长时间没有使用&#xff0c;忘记了密码、不能解压压缩包了&#xff0c;还能够删除压缩包密码嘛&#xff1f; 压缩包设置的加密&#xff0c;不需要再加密了&#xff0c;可以删除压缩包密码&#xff0c;以后不需要输入密码再解压密码了&…

11_html

知识点1【HTML概述】 知识点2【文字标签】 知识点3【标题】 知识点4【超链接】 知识点5【table表格标签】&#xff08;重要&#xff09; 知识点6【form表单】&#xff08;重要&#xff09; 知识点7【JavaScript的概述】让网页动起来 1、什么是 Javascript? 2、网页使用j…

【LEACH协议】无线传感器网络LEACH与DEEC协议【含Matlab源码 2187期】

⛄一、 简介 1 引言 WSN 由能感知外部环境的传感器节点以自组网的形式构成&#xff0c;是一种分布式无线传感器网络。随着科技的进步和现代生活的需求&#xff0c;由于 WSN 的远程控制、信息即时传播以及低功耗等众多优点&#xff0c;WSN 在军事医疗、生活娱乐和工业生产等各个…

锦囊秘籍!用Python操作MySQL的使用教程集锦!

一. python操作数据库介绍 大家好&#xff0c;我是毕加锁&#xff08;锁&#xff01;&#xff09;。 Python 标准数据库接口为 Python DB-API&#xff0c;Python DB-API为开发人员提供了数据库应用编程接口。Python 数据库接口支持非常多的数据库&#xff0c;你可以选择适合你…

生产环境 SSH 安全有效小技巧

生产环境使用 SSH 工具的有用技巧 文章目录生产环境使用 SSH 工具的有用技巧生产环境上线时使用瘦客户机多开几个 SSH 窗口短暂离开一个会话时使用反斜杠&#xff08;\&#xff09;开启 SSH 工具的 Log Session 功能总结我们知道&#xff0c;我们学习 IT 技术时自己搭建的环境&…

BufferPool之链表

系列文章目录 MySQL之BufferPool 文章目录系列文章目录前言一、free链表1.1结构简图1.2 结构说明二、flush链表2.1 结构简图2.2 结构说明三、LRU链表3.1 结构简图3.2 LRU优化后结构简图附录前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 本文会介绍fr…

锅炉防磨防爆可视化管理系统

电厂的各类安全事故中&#xff0c;锅炉四管泄爆事故占比最高、影响最大。四管泄漏不仅直接导致停机停炉、引起重大经济损失、威胁电网安全运行、甚至会直接造成机组管理人员的人身伤害。因此锅炉防磨防爆管理工作的好坏是保证机组稳定运行、工作人员安全、电厂整体效益的重要前…

全网最全最深:web前端架构师面试题+缜密全面的学习笔记

都说程序员工资高、待遇好&#xff0c; 2022 金九银十到了&#xff0c;你的小目标是 30K、40K&#xff0c;还是 16薪的 20K&#xff1f;作为一名 Java 开发工程师&#xff0c;当能力可以满足公司业务需求时&#xff0c;拿到超预期的 Offer 并不算难。然而&#xff0c;提升 Java…

Python爬虫库urllib使用详解

大家好 我是政胤 一、Python urllib库 Python urllib 库用于操作网页 URL&#xff0c;并对网页的内容进行抓取处理。 Python3 的 urllib。 urllib 包 包含以下几个模块&#xff1a; urllib.request - 打开和读取 URL。 urllib.error - 包含 urllib.request 抛出的异常。 url…

3.6.3、随机接入-CSMA/CD协议

总线局域网使用的协议 [^96 比特时间]: 发送 96 比特所耗费的时间&#xff0c;也成为帧间最小间隔。其作用是接收方可以检测出一个帧的结束&#xff0c;同时也使得所有其他站点都能有机会平等竟争信道并发送帧。 1、案例 多个主机连接到一根总线上&#xff0c;各主机随机发送帧…

system函数实践1:system函数进程的爸爸是谁?

前言 有两个问题&#xff1a; system函数中修改了环境变量&#xff0c;会不会影响执行它的进程&#xff1f; 不会。 首先&#xff0c;这个我测过了&#xff0c;因为我原本想用它来传递参数。 为什么&#xff1f;因为system函数执行的时候&#xff0c;会先创建一个shell,然后再…

自然灾害数据:中国台风数据集(更新至2022.3)

1、数据来源&#xff1a;中国天气网 2、时间跨度&#xff1a;1949-2021年 3、区域范围&#xff1a;全国 4、指标说明&#xff1a; 包含指标如下&#xff1a; 序号、编号、中文名、登陆时间、登陆序号、登陆地、登陆地地区代码、登陆时强度等级、省份代码、省份、城市代码、…

高分英语Essay写作内容怎么介绍?

英国Essay的写作非常讲究逻辑思维&#xff0c;除此之外&#xff0c;单词、语法、标点符号这些细节也会影响Essay能否拿到高分。为了帮助大家写出质量高的英国Essay&#xff0c;接下来我们就详细介绍一下如何才能写出一篇高分英语Essay。 English Essay pays much attention to …

CISAW培训可以自学报名考试吗?

首先要跟大家说明的是&#xff0c;CISAW是强制培训的&#xff0c;并不可以通过自学而取得证书&#xff0c;也就是说你需要找一家CISAW认证的培训机构&#xff08;要选授权机构哦&#xff01;&#xff09;。众所周知&#xff0c;CISAW认证涉及了很多方向&#xff0c;那每个方向都…

centos系统下RabbitMQ安装教程

centos系统下RabbitMQ安装教程 我这里的环境用的腾讯云的轻应用环境 RabbitMQ是一个开源的遵循AMQP协议实现的基于Erlang语言编写&#xff0c;即需要先安装部署Erlang环境再安装RabbitMQ环境。需加注意的是&#xff0c;读者若不想跟着我的版本号下载安装&#xff0c;可根据两者…

Git 的内部工作原理

简介 通过本次分享学习 Git 的内部工作原理和实现方式。 学习这部分内容对于理解 Git 的用途和强大至关重要。 首先要弄明白一点&#xff0c;从根本上来讲 Git 是一个内容寻址&#xff08;content-addressable&#xff09;文件系统&#xff0c;并在此之上提供了一个版本控制…

WPF基础知识系例

WPF系列-绘图和动画1、WPF绘图1.1 直线1.2 矩形1.3 椭圆1.4 路径1、WPF绘图 这里将从静态图像绘制入手&#xff0c;进而学习动画效果制作。WPF 拥有自己的一套图形 API &#xff0c;使用这套 API 不但可以轻松地绘制出精美的图形&#xff0c;还可以方便地对图形进行滤镜、变形…