当前位置: 首页 > news >正文

4.Vue-Vue调用第三方接口

题记

         用vue调用第三方接口,以下是全部代码和操作流程。

寻找第三方接口网站 

        推荐:免费API - 提供免费接口调用平台 (aa1.cn)

        下面的代码以下图中的接口为例 

         

安装axios模块 

        在终端输入以下命令: 

         npm install axios

 调用第三方接口代码

 调用不需要设置参数的接口

        TestView.vue文件如下: 

<template>

  <div >

    <ul>

      <!--<li v-for="item in items" :key="item.id">{{ item }}</li>-->

      <!--使用了Vue的指令v-html,它会将组件的data属性的值作为HTML内容进行渲染-->

      <div v-html="data"></div>

      <!--使用了Vue的插值语法{{ }},它会将组件的data属性的值作为文本进行渲染-->

      <!--没有去掉p标签-->

      <div>{{ data }}</div>

    </ul>

  </div>

</template>

<script>

// 导入axios模块,使用axios来发送HTTP请求了

//export default是用于导出模块的语法

import axios from 'axios';

// const data = ref()

// const  items = ref([])

export default {

  //data()函数是用于定义组件的数据属性的方法

  //data属性被初始化为空字符串,可以用来存储数据

  data() {

    return {

      //items: [],

      data:''

    };  

  },

  //mounted()是一个生命周期钩子函数,它会在组件被挂载到DOM后调用

  mounted() {

    this.fetchData();

  },

  //methods对象用于定义组件的方法

  //fetchData()方法使用axios库发送一个GET请求到指定的URL

  //通过Promise的.then()方法处理请求成功的响应,this.data = response.data将响应的数据设置到组件的data属性中

  //如果请求失败,将通过.catch()方法捕获错误,并通过console.error()方法将错误打印到控制台。

  methods: {

    fetchData() {

      axios.get('https://v.api.aa1.cn/api/yiyan/index.php')

        .then(response => {

          // 将返回的数据设置到items数组

          // this.items = response.data;

          this.data = response.data

          // document.body.innerHTML = this.items,用这种方式也可以去掉返回内容中的p标签

          console.log(response.data)

        })

        .catch(error => {

          console.error(error);

        });

    }

  }

}

</script> 

<template><div ><ul><!--<li v-for="item in items" :key="item.id">{{ item }}</li>--><!--使用了Vue的指令v-html,它会将组件的data属性的值作为HTML内容进行渲染--><div v-html="data"></div><!--使用了Vue的插值语法{{ }},它会将组件的data属性的值作为文本进行渲染--><!--没有去掉p标签--><div>{{ data }}</div></ul></div>
</template><script>
// 导入axios模块,使用axios来发送HTTP请求了
// export default是用于导出模块的语法
import axios from 'axios';
// const data = ref()
// const  items = ref([])
export default {//data()函数是用于定义组件的数据属性的方法//data属性被初始化为空字符串,可以用来存储数据data() {return {//items: [],data:''};  },//mounted()是一个生命周期钩子函数,它会在组件被挂载到DOM后调用mounted() {this.fetchData();},//methods对象用于定义组件的方法//fetchData()方法使用axios库发送一个GET请求到指定的URL//通过Promise的.then()方法处理请求成功的响应,this.data = response.data将响应的数据设置到组件的data属性中//如果请求失败,将通过.catch()方法捕获错误,并通过console.error()方法将错误打印到控制台。methods: {fetchData() {axios.get('https://v.api.aa1.cn/api/yiyan/index.php').then(response => {// 将返回的数据设置到items数组// this.items = response.data;this.data = response.data// document.body.innerHTML = this.items,用这种方式也可以去掉返回内容中的p标签console.log(response.data)}).catch(error => {console.error(error);});}}}
</script>
调用需要设置参数的接口 

        TestView2.vue文件如下:

<template>

  <div >

    <ul>

    <!--使用Vue的事件修饰符@submit.prevent,表示在表单提交时会触发名为handleSubmit的方法。

      prevent修饰符用于阻止表单默认的提交行为,以便可以使用自定义的逻辑来处理提交事件。-->

    <form @submit.prevent="handleSubmit">

      <!--使用Vue的双向绑定指令v-model,将输入框的值绑定到了组件的message属性。-->

      <input type="text" v-model="message" placeholder="请输入内容">

      <input type="number" v-model="type" placeholder="请输入类型">

      <button type="submit">提交</button>

    </form>

      {{ message }}

      <!--v-for="(item, index) in data.data"是一个指令,表示要对data.data数组进行循环遍历。

        在每次循环中,item表示当前项的值,index表示当前项的索引。

        :key="item.id"是一个特殊的属性绑定语法,用于为循环渲染的每个项提供一个唯一的标识符。-->

      <li v-for="(item,index) in data.data" :key="item.id">

          {{index + 1 }}

          {{ item.riqi }}

          {{ item.wendu }}

          {{ item.tianqi }}

      </li>

      </ul>

  </div>

</template>

<script>

import axios from 'axios';

// const data = ref()

// const  items = ref([])

export default {

  data() {

    return {

      //items: [],

      data:'',

      message: '',

      type: '1',

    };

   

  },

  mounted() {

    this.handleSubmit()

  },

  methods: {

    handleSubmit() {

      axios.get('https://v.api.aa1.cn/api/api-tianqi-3/index.php', {

          // 使用 axios.get 发送一个 GET 请求,通过第二个参数的 params 属性传递了这个参数对象,

          // 将 msg 和 type 作为查询参数传递给服务器。

          params: {

              msg: this.message,

              type: this.type

          },

          })

          .then(response => {

              // 在这里处理返回的数据

              this.data=response.data;

              console.log(response.data);

             

          })

          .catch(error => {

              // 在这里处理错误

              console.error(error);

             

          });

    }

  }

}

</script>

<template><div ><ul><!--使用Vue的事件修饰符@submit.prevent,表示在表单提交时会触发名为handleSubmit的方法。prevent修饰符用于阻止表单默认的提交行为,以便可以使用自定义的逻辑来处理提交事件。--><form @submit.prevent="handleSubmit"><!--使用Vue的双向绑定指令v-model,将输入框的值绑定到了组件的message属性。--><input type="text" v-model="message" placeholder="请输入内容"><input type="number" v-model="type" placeholder="请输入类型"><button type="submit">提交</button></form>{{ message }}<!--v-for="(item, index) in data.data"是一个指令,表示要对data.data数组进行循环遍历。在每次循环中,item表示当前项的值,index表示当前项的索引。:key="item.id"是一个特殊的属性绑定语法,用于为循环渲染的每个项提供一个唯一的标识符。--><li v-for="(item,index) in data.data" :key="item.id">{{index + 1 }} {{ item.riqi }}{{ item.wendu }}{{ item.tianqi }}</li></ul></div>
</template><script>
import axios from 'axios';
// const data = ref()
// const  items = ref([])
export default {data() {return {//items: [],data:'',message: '',type: '1',};},mounted() {this.handleSubmit()},methods: {handleSubmit() {axios.get('https://v.api.aa1.cn/api/api-tianqi-3/index.php', {// 使用 axios.get 发送一个 GET 请求,通过第二个参数的 params 属性传递了这个参数对象,// 将 msg 和 type 作为查询参数传递给服务器。params: {msg: this.message,type: this.type},}).then(response => {// 在这里处理返回的数据this.data=response.data;console.log(response.data);}).catch(error => {// 在这里处理错误console.error(error);});}}
}
</script>

 执行程序

        可以参考在vue中搭建路由:3.Vue-在Vue框架中搭建路由-CSDN博客 

        成功访问到网页后,如果没有显示,需要多刷新几次,属于网络问题。如果一直没有请求成功,则是请求次数太多,官方不会返回响应,需要等待一段时间再次发起请求,或者自行更换接口进行测试

 展示图 

 

后记 

        觉得有用可以点赞或收藏! 

相关文章:

4.Vue-Vue调用第三方接口

题记 用vue调用第三方接口&#xff0c;以下是全部代码和操作流程。 寻找第三方接口网站 推荐&#xff1a;免费API - 提供免费接口调用平台 (aa1.cn) 下面的代码以下图中的接口为例 安装axios模块 在终端输入以下命令&#xff1a; npm install axios 调用第三方接口代码 调…...

大语言模型在推荐系统的实践应用

本文从应用视角出发&#xff0c;尝试把大语言模型中的一些长处放在推荐系统中。 01 背景和问题 传统的推荐模型网络参数效果较小(不包括embedding参数)&#xff0c;训练和推理的时间、空间开销较小&#xff0c;也能充分利用用户-物品的协同信号。但是它的缺陷是只能利用数据…...

第三章 交换技术及应用

目录 3.1 port-vlan技术 3.1.1 VLAN概述 3.1.2 VLAN划分方法——Port-VLAN 3.1.3 Port-VLAN工作原理 3.1.3 Port-VLAN配置 3.2 port-vlan仿真演示 3.2.1 实验背景 3.2.2 实验目的 3.2.3 实验设备 3.2.4 实验步骤思维导图 3.3 tag-vlan技术 3.3.1 问题分析 3.3.2 T…...

地震勘探原理部分问题解答

1、二维/三维&#xff08;陆地/海洋&#xff09;地震勘探&#xff0c;炮点&#xff08;激发点&#xff09;和检波点&#xff08;接收点&#xff09;的排布位置如何&#xff1f;画图作答&#xff1f; &#xff08;1&#xff09;陆地地震勘探 二维陆地地震野外采集&#xff1a;震…...

两个步骤轻松搞定批量合并视频

你是否曾经有过批量合并视频的需求&#xff0c;但是却苦于不知道如何下手&#xff1f;今天&#xff0c;我将为你介绍一个简单易行的方法&#xff0c;只需两个步骤&#xff0c;让你轻松实现批量合并视频。 第一步&#xff1a;下载并打开固乔智剪软件 首先&#xff0c;你需要下载…...

VR虚拟现实在室内设计仿真教学中的应用演示

1. 虚拟实景漫游&#xff1a;利用VR技术&#xff0c;学生可以通过戴上VR头盔来进入一个虚拟的室内环境中&#xff0c;感受真实的空间氛围。他们可以自由移动和观察&#xff0c;感受室内设计的效果。这样的体验可以增强学生的想象力和空间感知能力&#xff0c;提高他们的设计水平…...

Python操作串口通信

Python操作串口通信 注意Linux下先要修改串口的权限&#xff1a; sudo chmod 777 /dev/ttyUSB0 以下是python代码&#xff1a; # codingutf-8 # 包&#xff1a;pyserial&#xff0c;pymysql # 权限&#xff1a;sudo chmod 777 /dev/ttyUSB0 import serial # import pymysql …...

图详解第四篇:单源最短路径--Dijkstra算法

文章目录 1. 最短路径问题2. 单源最短路径--Dijkstra算法算法思想图解如何存储路径及其权值代码实现调式观察打印最短路径Dijkstra算法的缺陷 3. 源码 1. 最短路径问题 最短路径问题&#xff1a; 从带权有向图&#xff08;求最短路径通常是有向图&#xff09;G中的某一顶点出发…...

CRMEB多商户商城系统阿里云集群部署教程

注意: 1.所有服务创建时地域一定要选择一致,这里我用的是杭州K区 2.文件/图片上传一定要用类似oss的云文件服务, 本文不做演示 一、 创建容器镜像服务&#xff0c;容器镜像服务(aliyun.com) ,个人版本就可以 先创建一个命名空间 然后创建一个镜像仓库 查看并记录镜像公网地址…...

Java第三方登录封装工具类

Java中可以使用第三方登录来简化用户登录流程&#xff0c;常见的第三方登录如QQ、微信、微博等。下面是一个Java封装第三方登录的工具类&#xff1a; import java.io.IOException; import java.util.HashMap; import java.util.Map;import org.apache.http.client.ClientProto…...

BUUCTF学习(四): 文件包含tips

1、介绍 2、hackBar插件安装 教程&#xff1a; Hackbar插件安装-CSDN博客 3、解题 php://filter/readconvert.base64-encode/resource要读取的文件 ?filephp://filter/readconvert.base64-encode/resourceflag.php Base64 在线编码解码 | Base64 加密解密 - Base64.us 结束...

德国人工智能公司【Kodex AI】完成160万欧元融资

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 猛兽财经获悉&#xff0c;总部位于德国柏林的人工智能公司【Kodex AI】今日宣布已完成160万欧元融资。 本轮融资由Signals VC领投&#xff0c;Techstars、德意志银行等天使投资者参与&#xff0c;其中包括:most AI首席执行官…...

LeetCode 2 两数相加

题目描述 链接&#xff1a;https://leetcode.cn/problems/add-two-numbers/?envTypefeatured-list&envId2ckc81c?envTypefeatured-list&envId2ckc81c 难度&#xff1a;中等 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式…...

springboot项目启动失败,不打印报错详细信息(启动打印日记问题)

1&#xff1a;出现这种我问题一般都是日记的问题&#xff0c;查看控制台启动打印的第一句&#xff0c;为什么启动失败&#xff0c;需要用那个日记 2&#xff1a;如果使用的是log4j或者logback与slf4j都是默认在依赖web自带的如下 <dependency><groupId>org.springf…...

MyBatis (where、set、foreach)标签

where标签 在上一节SQL 语句中加入了一个条件“11”&#xff0c;如果没有加入这个条件&#xff0c;那么可能就会变成下面这样一条错误的语句。 SELECT id,name,url,age,country FROM website AND name LIKE CONCAT(%,#{name},%)显然以上语句会出现 SQL 语法异常&#xff0c;但…...

flutter开发之安装dart

1、在MacOS系统中打开终端&#xff0c;进入到官网Get the Dart SDK | Dart brew tap dart-lang/dartbrew install dart 注意&#xff1a;若显示没有brew&#xff0c;请先执行第二步骤&#xff0c;如下&#xff1a; 2、打开homebrew的官网Homebrew — The Missing Package Man…...

向量召回:深入评估离线体系,探索优质召回方法

向量召回:深入评估离线体系,探索优质召回方法 1.简介 近年来,基于向量进行召回的做法在搜索和推荐领域都得到了比较广泛的应用,并且在学术界发表的论文中,基于向量的 dense retrieve 的方法也在不少数据集上都战胜了 sparse retrieve,吸引了越来越多的关注。在内网的不…...

播放器缓存队列bug解决方案

背景 我在开发一个播放器的缓存队列时&#xff0c;遇到一个bug,导致包和帧无法被下一个模块读取 找了半天&#xff0c;原来是队列中的包和帧数据要进行内容的刷新暂存 包数据和帧数据不能直接放入队列 //入队&#xff0c;包进队列 int AVPacketQueue::Push(AVPacket *val,i…...

React拖拽实践

当涉及到前端开发中的用户体验时&#xff0c;拖拽功能是一个常见而重要的需求。在React中&#xff0c;实现拖拽功能可以通过多种方式完成&#xff0c;但通常需要深刻理解React的状态管理、事件处理和DOM操作。本文将探讨React中拖拽的实践&#xff0c;包括基本原理、拖拽库的使…...

Stable Diffusion绘图,lora选择

best quality, ultra high res, (photorealistic:1.4), 1girl, off-shoulder white shirt, black tight skirt, black choker, (faded ash gray hair:1), looking at viewer, closeup <lora:koreandolllikeness_v20:0.66> 最佳品质&#xff0c;超高分辨率&#xff0c;&am…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...