Javascript 带参数的Axios柱
我有一个问题,我的param articleid没有传递给我的route/createAnswer。当我在这里记录我的文章数据时。\u id是我将传递给我的route/createAnswer的所需id(例如60B4F5D8C8BE1D4CB0CD6CA)Javascript 带参数的Axios柱,javascript,reactjs,mongodb,axios,Javascript,Reactjs,Mongodb,Axios,我有一个问题,我的param articleid没有传递给我的route/createAnswer。当我在这里记录我的文章数据时。\u id是我将传递给我的route/createAnswer的所需id(例如60B4F5D8C8BE1D4CB0CD6CA) const createAnswer = () => { axios.get('/getUserByFirebaseid', { params: { firebaseid: firebas
const createAnswer = () => {
axios.get('/getUserByFirebaseid', {
params: {
firebaseid: firebase.auth().currentUser.uid
}
})
.then((response) => {
const userData = response.data[0];
console.log(articleData._id);
axios({
url: '/createAnswer',
method: 'post',
params: {
articleid: articleData._id
},
data: {
content: editorContent,
creator: userData._id,
voting: 0
}
}).then(() => {
console.log("Answer successfully created");
}).catch((error) => {
console.error("Answer is not successfully created", error);
})
})
.catch((error) => {
console.error("Userdata are not loaded", error);
})
}
但是当我在这里登录我的articleid时,它是未定义的
router.post('/createAnswer', (req, res) => {
console.log("ArticleId: ", req.params.articleid);
console.log("Answerdata: ", req.body);
const answerData = req.body;
const newAnswer = Answer(answerData);
newAnswer.save((error) => {
if (error) {
res.status(500).json({ msg: "Internal server error" });
} else {
res.json({ msg: "Answer successfully write to MongoDB" });
}
});
});
我如何成为路线/createAnswer中的id?我还尝试记录req.body.articleid,但结果相同(未定义)。我也通过stackoverflow在这里搜索了一个解决方案,但我没有找到一个适合我的解决方案
感谢您的帮助。使用simplecreators链接,问题的解决方案是以下代码:
const createAnswer = () => {
axios.get('/getUserByFirebaseid', {
params: {
firebaseid: firebase.auth().currentUser.uid
}
})
.then((response) => {
const userData = response.data[0];
console.log(articleData._id);
axios({
url: `/createAnswer/${articleData._id}`,
method: 'post',
data: {
content: editorContent,
creator: userData._id,
voting: 0
}
}).then(() => {
console.log("Answer successfully created");
//toArticle.push("/article");
}).catch((error) => {
console.error("Answer is not successfully created", error);
})
})
.catch((error) => {
console.error("Userdata are not loaded", error);
})
}
articleData.\u id在/createAnswer路由之后传递
注意“not”
在路由器代码中,将以下内容添加到route/createAnswer/:articleid。现在,它在日志中显示传递的id
router.post('/createAnswer/:articleid', (req, res) => {
console.log("ArticleId: ", req.params.articleid);
console.log("Answerdata: ", req.body);
const answerData = req.body;
const newAnswer = Answer(answerData);
newAnswer.save((error) => {
if (error) {
res.status(500).json({ msg: "Internal server error" });
} else {
res.json({ msg: "Answer successfully write to MongoDB" });
}
});
});
你看过这篇文章吗非常感谢您,它起了作用:)