gpt4 book ai didi

javascript - POST 500(内部服务器错误)无法在 Node 服务器上使用 React JS 发布表单数据

转载 作者:行者123 更新时间:2023-12-04 17:16:38 27 4
gpt4 key购买 nike

POST https://waste-alert-api.herokuapp.com/datas 500(内部服务器错误)

我创建了一个 React 项目,我想在其中上传包含一些数据的图像。除 post 方法外,每种方法都可以正常工作。为了更好地理解,我添加了 React JS 部分以及 Node Js 代码。

当我使用 POSTMAN 测试时,Node Js 服务器工作正常。

react JS

const submitPostHandler = async (data) => {
try {
const response = await fetch(
"https://waste-alert-api.herokuapp.com/datas",
{
method: "POST",
body: data,
headers: {
"Content-Type": "multipart/form-data",
Authorization: token,
},
}
);

console.log(response);
} catch (err) {
console.log(err);
}
};
    const metaData = {
"wasteType": enteredWasteType,
"location": {
"lat": enteredLat,
"long": enteredLong,
},
};
console.log(metaData);

const data = new FormData();
data.append("image", file);
data.append("data", metaData);

props.submitPostHandler(data);

Node JS

router.post(
"/datas",
auth,
uploadOptions.single("image"),
async (req, res, next) => {
const file = req.file;
if (!file) return res.status(400).send("No image in the request");

const fileName = file.filename;
const basePath = `${req.protocol}://${req.get("host")}/uploads/`;
console.log(req.body.data);
const newData = JSON.parse(req.body.data);
const data = new Data({
wasteType: newData.wasteType,
location: newData.location,
image: `${basePath}${fileName}`,
owner: req.user._id,
});

try {
await data.save();
res.status(201).send(data);
} catch (e) {
res.send({ e, error: "something is wrong" });
}
}
);


最佳答案

我的 MERN 应用程序也遇到了类似的问题。我的客户端 package.json 文件包含代理 key 和 Heroku 创建的应用程序地址。但是在本地主机上运行应用程序时会导致 500/503 内部服务器错误。首先我关注了this解决方案并将 http-proxy-middleware 安装到客户端文件夹中。其次,在我的 axios.post 方法中,我按照建议将错误处理从 err 更改为 err.response.data here .

关于javascript - POST 500(内部服务器错误)无法在 Node 服务器上使用 React JS 发布表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68575468/

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