4 回答
TA贡献1777条经验 获得超10个赞
如果您在 nuxt 中使用 axios 时遇到问题。确保您可以通过导入或上下文访问 axios 本身。
import axios from "@nuxtjs/axios";
const res = await axios.post('/api/v1/auth', {email, password });
或上下文
// For methods and vuex, you have access to 'this'
const res = await this.$axios.$post('/api/v1/auth', {email, password });
// For nuxt middleware, you have access to 'context'
const res = await context.$axios.$get('/api/v1/user');
包括标题
this.$axios.defaults.headers.common["Authorization"] = `Bearer ${token}`;
最后,确保您正在控制台记录服务器端点(中间件和路由),以确保您正确处理所有内容。
TA贡献1842条经验 获得超12个赞
希望你使用@nuxtjs/axios模块,如果是的话,你可以使用拦截器
https://axios.nuxtjs.org/helpers.html#interceptors
export default function ({ $axios, redirect }) {
$axios.onRequest(config => {
config.headers.common['Authorization'] = `Bearer token`;
})
$axios.onError(error => {
if(error.response.status === 500) {
redirect('/sorry')
}
})
}
这样您就可以共享您的 axios 代码。
关于您的帖子请求,您能否分享更多详细信息或任何工作示例!!!
TA贡献2039条经验 获得超7个赞
我发现了问题。配置了一个服务器中间件,不再需要了。它在每个 POST 请求时触发。
愚蠢的错误,但这就是你学习的方式,对吧?xD
重现的步骤现在是一个工作演示,以防有人需要类似的东西。
干杯!
这是工作演示:
# Download and start API server
git clone https://github.com/consuman/api-demo.git
cd api-demo/
npm install
node src
# In a second terminal download and start Nuxt server
git clone https://github.com/consuman/api-demo-nuxt.git
cd api-demo-nuxt
npm install
npm run dev
# Navigate to http://localhost:3000
# Relevant code is in /api-demo-nuxt/pages/index.vue
TA贡献1884条经验 获得超4个赞
就我而言,我将触发按钮放在表单中。这触发了函数(我称之为 axios)调用以及通常在您发送 From 时发生的 XHR 调用。
为了修复它并且只触发 axios 调用,只需从 Form 标签上取下按钮。
添加回答
举报