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


    题记

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

    寻找第三方接口网站 

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

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

             

    安装axios模块 

            在终端输入以下命令: 

             npm install axios

     调用第三方接口代码

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

            TestView.vue文件如下: 

     

    1. <template>
    2. <div >
    3. <ul>
    4. <div v-html="data">div>
    5. <div>{{ data }}div>
    6. ul>
    7. div>
    8. template>
    9. <script>
    10. // 导入axios模块,使用axios来发送HTTP请求了
    11. // export default是用于导出模块的语法
    12. import axios from 'axios';
    13. // const data = ref()
    14. // const items = ref([])
    15. export default {
    16. //data()函数是用于定义组件的数据属性的方法
    17. //data属性被初始化为空字符串,可以用来存储数据
    18. data() {
    19. return {
    20. //items: [],
    21. data:''
    22. };
    23. },
    24. //mounted()是一个生命周期钩子函数,它会在组件被挂载到DOM后调用
    25. mounted() {
    26. this.fetchData();
    27. },
    28. //methods对象用于定义组件的方法
    29. //fetchData()方法使用axios库发送一个GET请求到指定的URL
    30. //通过Promise的.then()方法处理请求成功的响应,this.data = response.data将响应的数据设置到组件的data属性中
    31. //如果请求失败,将通过.catch()方法捕获错误,并通过console.error()方法将错误打印到控制台。
    32. methods: {
    33. fetchData() {
    34. axios.get('https://v.api.aa1.cn/api/yiyan/index.php')
    35. .then(response => {
    36. // 将返回的数据设置到items数组
    37. // this.items = response.data;
    38. this.data = response.data
    39. // document.body.innerHTML = this.items,用这种方式也可以去掉返回内容中的p标签
    40. console.log(response.data)
    41. })
    42. .catch(error => {
    43. console.error(error);
    44. });
    45. }
    46. }
    47. }
    48. script>
    调用需要设置参数的接口 

            TestView2.vue文件如下:

    1. <template>
    2. <div >
    3. <ul>
    4. <form @submit.prevent="handleSubmit">
    5. <input type="text" v-model="message" placeholder="请输入内容">
    6. <input type="number" v-model="type" placeholder="请输入类型">
    7. <button type="submit">提交button>
    8. form>
    9. {{ message }}
    10. <li v-for="(item,index) in data.data" :key="item.id">
    11. {{index + 1 }}
    12. {{ item.riqi }}
    13. {{ item.wendu }}
    14. {{ item.tianqi }}
    15. li>
    16. ul>
    17. div>
    18. template>
    19. <script>
    20. import axios from 'axios';
    21. // const data = ref()
    22. // const items = ref([])
    23. export default {
    24. data() {
    25. return {
    26. //items: [],
    27. data:'',
    28. message: '',
    29. type: '1',
    30. };
    31. },
    32. mounted() {
    33. this.handleSubmit()
    34. },
    35. methods: {
    36. handleSubmit() {
    37. axios.get('https://v.api.aa1.cn/api/api-tianqi-3/index.php', {
    38. // 使用 axios.get 发送一个 GET 请求,通过第二个参数的 params 属性传递了这个参数对象,
    39. // 将 msg 和 type 作为查询参数传递给服务器。
    40. params: {
    41. msg: this.message,
    42. type: this.type
    43. },
    44. })
    45. .then(response => {
    46. // 在这里处理返回的数据
    47. this.data=response.data;
    48. console.log(response.data);
    49. })
    50. .catch(error => {
    51. // 在这里处理错误
    52. console.error(error);
    53. });
    54. }
    55. }
    56. }
    57. script>

     执行程序

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

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

     展示图 

     

    后记 

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

  • 相关阅读:
    慢SQL的治理思路
    C++的运算符重载介绍
    如何替代传统的方式,提高能源企业敏感文件传输的安全性?
    2023年【氧化工艺】考试内容及氧化工艺操作证考试
    【线性代数】MIT Linear Algebra Lecture 2: Elimination with matrices
    虹科技术 | 不用外部Redbox如何无缝合并PRP和HSR网络实现精确时间同步?
    Windows Docker Desktop安装K8S
    Django(8):请求对象和响应对象
    Restful风格是“垃圾”?
    Three.js-效果合成(EffectComposer)
  • 原文地址:https://blog.csdn.net/m0_70819559/article/details/133866073