我正在尝试使用 javascript 中的 Axios 向我的快速应用程序发送请求,但它不起作用,并且每次它只是为 data.data.message 返回 undefined 在这种情况下。 但我确定 URL 并且我检查了我的应用程序日志但我的服务器没有收到任何请求 这是我在 JS 文件中的 Axios 方法,有什么问题吗?
const sendCode = () => {
return new Promise((resolve, reject) => {
axios({
url: `/auth/email/sendcode`,
method: "POST",
})
.then((data) => {
resolve(data);
})
.catch((err) => {
reject(err);
});
});
};
答案 0 :(得分:0)
与您的问题无关,但为了您的信息,您可以直接使用
const sendCode = () => axios({
url: `/auth/email/sendcode`,
method: "POST",
});
因为它也会返回 Promise 对象。
答案 1 :(得分:0)
const sendCode = () => {
new Promise((resolve, reject) => {
axios.post(`/auth/email/sendcode`)
.then((data) => {
return resolve(data);
})
.catch((err) => {
return reject(err);
});
});
};
或者你可以使用 async-await
const sendCode = async () => {
const response = await axios.post(`/auth/email/sendcode`)
return response
};
答案 2 :(得分:0)
根据您的回答,我注意到您缺少 POST 请求的正文(“数据”)。
const sendCode = () => {
return new Promise((resolve, reject) => {
axios({
url: `/auth/email/sendcode`,
method: "post",
data: {
// Your request data here
}
})
.then((data) => {
resolve(data);
})
.catch((err) => {
reject(err);
});
});
};
如果失败,那么您将不得不向我们提出一个更详细的问题,关于您如何调用此 API。
注意:由于 Axios 已经返回了一个承诺,你可以将新的承诺删除为这样的;
const sendCode = () => axios({
url: `/auth/email/sendcode`,
method: "post",
data: {
// Your request data here
}
});
第二个解决方案是让您避免不必要的代码和可能因如此多的承诺而引起的混乱。
祝你好运!
答案 3 :(得分:0)
使用 async-await 使其更具可读性
const sendCode = async () => {
const response = await axios.post(`/auth/email/sendcode`)
return response
};