首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VueJS3:解析JSON问题

VueJS3:解析JSON问题
EN

Stack Overflow用户
提问于 2020-10-07 21:29:37
回答 1查看 38关注 0票数 1

我从VueJS 3开始,尝试在MongoDataBase中呈现位置列表。我使用axios来管理请求。

响应很好,我可以将其记录在控制台中,但不能将其放入Location组件中。

浏览器控制台中不会出现任何错误,组件也不会加载。当我在VSCode中调试和检查捕获的异常时,我有一个如下所示的SyntaxError:

代码语言:javascript
复制
Exception has occurred: SyntaxError: Unexpected token    in JSON at position 1
at parse (<anonymous>)
    at has (http://localhost:8080/js/chunk-vendors.js:33332:39)
    at has (http://localhost:8080/js/chunk-vendors.js:33246:48)
    at runInContext (http://localhost:8080/js/chunk-vendors.js:33362:10)
    at Object.<anonymous> (http://localhost:8080/js/chunk-vendors.js:34034:5)
    at Object.<anonymous> (http://localhost:8080/js/chunk-vendors.js:34067:4)
    at Object.58 (http://localhost:8080/js/chunk-vendors.js:34069:4)
    at o (http://localhost:8080/js/chunk-vendors.js:28806:374)
    at http://localhost:8080/js/chunk-vendors.js:28806:425
    at Object.<anonymous> (http://localhost:8080/js/chunk-vendors.js:30565:13)

我想我在解析JSON响应时遇到了问题,但我不知道问题出在哪里。

我用Postman测试了API,它工作得很好。我还用静态数据测试了它,它也工作得很好。

webComponent的代码如下:

代码语言:javascript
复制
<template>
  <div>
    <Location
      v-for="location in locations"
      :key="location.id"
      :locationModel="location"
    />
  </div>
</template>

<script lang="ts">
import { defineComponent, ref } from "vue";
import { LocationModel } from "../models/LocationModel";
import { useLocationService } from "../composables/LocationService";
import Location from "../components/Location.vue";

export default defineComponent({
  name: "LocationList",

  components: {
    Location
  },

  async setup() {
    const location = useLocationService();
    const locations = ref<Array<LocationModel> | null>(null);
    locations.value = await location.list();
    
    return {
      locations
    };
  }
});
</script>

<style></style>

和与API交互的LocationService的代码:

代码语言:javascript
复制
import { LocationModel } from "@/models/LocationModel";
import axios from "axios";

export function useLocationService() {
  return {
    async list(): Promise<Array<LocationModel>> {
      const params = {
        lng: 0.2185714,
        lat: 47.9791214,
        maxDistance: 5000
      };
      const response = await axios.get<Array<LocationModel>>(
        "http://localhost:3000/api/locations",
        { params }
      );
      return Promise.resolve(response.data);
    }
  };
}

我想这是一个简单的错误,但我从昨天开始就被困在它上面了,我不知道该怎么办,你知道吗?谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-10-12 18:32:17

我认为返回的对象只有一个字段,而不是一个值。为什么不把位置还给我。

代码语言:javascript
复制
return locations;

代码语言:javascript
复制
return {
 locations : locations
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64245063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档