gpt4 book ai didi

javascript - 如何使用react将多个参数作为url中的对象传递

转载 作者:行者123 更新时间:2023-12-01 01:03:18 27 4
gpt4 key购买 nike

我试图通过 URL(使用 Axios 从 ReactJS)将多个参数传递到我的 api (Koa),以将数据发布到我的数据库。此代码有效,但我想知道是否有一种更简单的方法来传递数据,而不是键入每个值以插入数据库?

我正在向我的数据库添加建议时间:

在 ReactJs 文件中:

axios.post(`/Advising/AddTime/${idValue}/${dayValue}/${startValue}/${endValue}/${timeValue}`)

在我的 Koa (node.js) 文件中:

AdvisingRouter.post('/AddTime/:id/:day/:starttime/:endtime/:timeblock', AdvisingController.addTimes, (err) => console.log("routers.js: AdvisingRouter error:", err));

最后是我的 Controller :

class AdvisingController {
async addTimes(ctx) {
return new Promise((resolve, reject) => {
let query = "INSERT INTO AdvisingTimes (id, Day, StartTime, EndTime, TimeBlock) VALUES (?, ?, ?, ?, ?);";
console.log('About to run this query.', query);
dbConnection.query(
{
sql: query,
values: [ctx.params.id, ctx.params.day, ctx.params.starttime, ctx.params.endtime, ctx.params.timeblock]
}, (error) => {
if (error) {
return reject(error);
}
}

)
}).catch(err => {
ctx.body = {
status: "Failed",
error: err,
user: null
};
});

}

最佳答案

假设您使用的是POST,那么您始终可以将数据作为有效负载的一部分发送

axios.post('/Advising/AddTime/', {
id,
day,
starttime,
endtime,
timeblock
});

然后在后端您可以通过ctx.request.body访问数据

注意 - 您需要包含一个正文解析器,例如 koa-body

关于javascript - 如何使用react将多个参数作为url中的对象传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55862565/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com