我正在为我的应用程序使用Nuxt,并希望将其连接到服务器以获取数据。
要生成动态路由,我使用了内置的generate方法,但是遇到了一些问题。
当使用generate命令时,它会获得此ERROR Request failed with status code 400
,但是当我访问相同的URL时,它可以正常工作。另外,当我控制台记录每个单独的路由时,它会正确显示。
代码:
generate: {
routes() {
return axios.get('https://api-mcl.herokuapp.com/api/v1/companies').then(res => {
return res.data.data.map(company => {
return { route: `/companies/${company.slug}` }
})
})
}
}
截屏:
非常感谢您的协助!
想通了。
问题出在组件中的asyncData函数。
函数就像这样:
async asyncData({ $axios, params }) {
const { data } = await $axios.get(`/companies/${params.id}`)
return { company: data.data }
但是我应该像这样使用有效载荷:
async asyncData({ $axios, payload, params }) {
if (payload) {
return { company: payload }
} else {
const { data } = await $axios.get(`/companies/${params.id}`)
return { company: data.data }
}
}