当前位置: 首页 > 知识库问答 >
问题:

无法使用Vue和Axios从API获取数据

斜成济
2023-03-14

我正在创建一个电子学习网站,那里有你可以选择的课程卡片。这是我的密码

<template>
<div>
  <v-container>
      <v-row>
          <v-col md="3" offset-lg="1">
              <Categories />
          </v-col>
          <v-col md="9" lg="7">
              <CourseList v-bind:list="list"/>
          </v-col>
      </v-row>
  </v-container>
</div>
</template>

<script>
import CourseList from '@/components/courses/CourseList.vue'
import Categories from '@/components/courses/Categories.vue'
import axios from 'axios'


export default {
  components: {
    CourseList,
    Categories
  },
  data() {
         return {
            list: []
         }
  },
  mounted: function() {
            axios
                .get('https://esl3usx3t7.execute-api.us-east-1.amazonaws.com/testing1/api/get_course')
                .then(res => this.list = res.body)
                .catch(err => console.log(err))
        }
}
</script>

课程ist.vue

<template>
  <div>
      <h2>Courses</h2>

      <v-row>
          <v-col sm="6" md="4">
              <VerticalCard v-bind:list="list"/>
              
          </v-col>
      </v-row>
      
  </div>
</template>

<script>
import VerticalCard from '@/components/cards/VerticalCard.vue'

export default {
    name: "CourseList",
    components: {
        VerticalCard
    },
    props: ["list"]
}
</script>

我的问题是我无法从API链接获取数据-

我想知道我做错了什么。我也尝试使用{{list}}来获取数据,但没有成功。我现在的目标是得到所有的数据,即使它看起来很乱。抱歉我英语不好,谢谢你!

共有2个答案

章景同
2023-03-14

axios请求的每个数据响应都将封装在数据对象中,因此您需要从数据中获取身体数据。正文。您可以通过控制台进行检查。日志(res)

const uri = 'https://esl3usx3t7.execute-api.us-east-1.amazonaws.com/testing1/api/get_course'
axios
  .get(uri)
  .then(res => {
    console.log(res)
    let {data: {statusCode, body}} = res
    if(statusCode == 200)
      this.list = [...body]
  })
  .catch(err => console.log(err))
狄侯林
2023-03-14

axios将数据包装到数据对象中,而不是。然后(res=

 类似资料:
  • 我正在尝试使用Vue和Axios的GET请求从我们的业务服务器获取一些数据。但是,我遇到了401未经授权的错误。当我使用内部号登录时,我能够使用RESTED获取这些数据。我已经看了这篇文章:如何使用axios发送Basic Auth,但没有解决方案对我有用。这是我发出get请求的代码: 我也尝试过不使用“标题”。这是错误消息: 希望有人有主意,因为我不知所措。

  • 我正在React中的useEffect()内尝试从axios获取数据。我测试了后端,它工作正常,但在前端,我得到了一个错误401(未经授权) 反应代码: 后端代码: 服务器.js 项目路线.js 我得到的错误是: 如果有人能帮我找出错误,我会很高兴的

  • 我一直在尝试使用nativescript创建一个android应用程序。我正在使用fetch模块从服务器获取响应。当我试图从httpbin获得响应时。org/get,没关系。但当我试图从本地服务器获取响应时,网络请求失败。错误 发送到httpbin。组织/获取- 发送到本地主机:8000/api- 当我尝试从纯节点中的localhost:8000/api获取响应时。js通过请求模块。它工作得很好。

  • 这是我收到的错误: 请求的资源上不存在“< code > Access-Control-Allow-Origin ”标头。因此,不允许访问源“https://s.codepen.io”。如果不透明响应满足您的需要,请将请求的模式设置为' < code>no-cors ',以便在禁用cors的情况下获取资源。 我将模式设置为但仍然没有运气。

  • 我有一张用户档案卡,可以在盒子里显示不同的测量值,比如温度、体积和重量。 目前,我正在从axios GET请求中获取每个用户的名称,然后我需要获取该数据中的ID,并使用该ID执行另一个GET请求,该ID为我提供性能数据,在该数据中,我获得了一个性能ID,我需要使用该ID来获取最终的测量数据数组。 我想知道如何才能仅为具有性能Id的用户发出最后一个GET请求,然后获取测量数据并显示在每个测量框的每个

  • 下面的代码在web浏览器中工作,我可以使用v-for检索json数据: 所以我尝试在nativescript vue与ListView这样: 但它根本无法检索数据或错误消息。 有什么要我补充的吗? 我正在路由器上使用NativeScip vue cli模板,因此我已经插入了以下依赖项: 从axios导入axios; 从“vue axios”导入VueAxios; Vue.use;