Typescript VueJS3:解析JSON问题
我从VueJS3开始,尝试呈现MongoDataBase中存储的位置列表。我使用axios管理请求。Typescript VueJS3:解析JSON问题,typescript,vuejs3,Typescript,Vuejs3,我从VueJS3开始,尝试呈现MongoDataBase中存储的位置列表。我使用axios管理请求。 响应良好,我可以将其记录在控制台中,但无法将其放入位置组件中。 浏览器控制台中不会出现错误,并且不会加载组件。当我调试并检查VSCode中捕获的异常时,会出现如下语法错误: Exception has occurred: SyntaxError: Unexpected token in JSON at position 1 at parse (<anonymous>)
响应良好,我可以将其记录在控制台中,但无法将其放入位置组件中。
浏览器控制台中不会出现错误,并且不会加载组件。当我调试并检查VSCode中捕获的异常时,会出现如下语法错误:
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)
发生异常:SyntaxError:JSON中的意外标记位于位置1
在parse()处
至少(http://localhost:8080/js/chunk-卖主:js:33332:39)
至少(http://localhost:8080/js/chunk-供应商:js:33246:48)
在运行文本时(http://localhost:8080/js/chunk-卖主:js:33362:10)
反对。(http://localhost:8080/js/chunk-vendors.js:34034:5)
反对。(http://localhost:8080/js/chunk-vendors.js:34067:4)
第58段(http://localhost:8080/js/chunk-vendors.js:34069:4)
在(http://localhost:8080/js/chunk-vendors.js:28806:374)
在http://localhost:8080/js/chunk-vendors.js:28806:425
反对。(http://localhost:8080/js/chunk-供应商:js:30565:13)
我想我在解析JSON响应时遇到了问题,但我不知道问题出在哪里。我用Postman测试了API,效果很好。我还使用静态数据对其进行了测试,结果也很好。
网络组件的代码:
<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>
从“vue”导入{defineComponent,ref};
从“./models/LocationModel”导入{LocationModel};
从“./composables/LocationService”导入{useLocationService};
从“./components/Location.vue”导入位置;
导出默认定义组件({
名称:“位置列表”,
组成部分:{
位置
},
异步设置(){
const location=useLocationService();
常数位置=参考(空);
locations.value=等待位置.list();
返回{
位置
};
}
});
以及与API交互的LocationService的代码:
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);
}
};
}
从“@/models/LocationModel”导入{LocationModel}”;
从“axios”导入axios;
导出函数useLocationService(){
返回{
异步列表():承诺{
常量参数={
液化天然气:0.2185714,
纬度:47.9791214,
最大距离:5000
};
const response=等待axios.get(
"http://localhost:3000/api/locations",
{params}
);
返回Promise.resolve(response.data);
}
};
}
我想这是一个简单的错误,但我从昨天起就一直坚持下去,不知道该怎么办,你知道吗?谢谢我认为您返回的对象只是一个字段,而不是一个值。 为什么不退回这些地点呢
return locations;
或
我认为您返回的对象只是一个字段,而不是一个值。 为什么不退回这些地点呢
return locations;
或
使用
调试器
,尝试{}catch(e){}
;)我打赌是axios responseUsedebugger
,try{}catch(e){}
;)我打赌这是axios的反应