无法在React.js+Express中保存电子邮件



所以我有一个函数getProfile()。在它内部,我试图使用POST调用从服务器获取用户,但它在响应中抛出了CORS错误。

这是getProfile:

const getProfile = async () => {
try {
const res = await fetch("http://localhost:5000/dashboard/", {
method: "POST",
headers: {
jwt_token: localStorage.token,
"Content-Type": "application/json",
Accept: "application/json",
},
});
const parseData = await res.json();
setEmail(parseData.email);
console.log("Try success");
console.log(parseData.email);
} catch (err) {
console.log("Try failed");
console.error(err.message);
}
};

如果您自己处理nodeServer,则需要添加CORS包请检查并遵循他们的文档https://www.npmjs.com/package/cors

1.安装包2.在您的app.js文件中添加以下

var cors = require('cors')
app.use(cors())

并将前端功能getProfile()更改为以下内容:

const getProfile = async () => {
let token = localStorage.getItem("token");
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "bearer" + token);
try {
await fetch("http://localhost:5000/dashboard/", {
method: "POST",
headers: myHeaders,
})
.then((r) => r.json().then((data) => ({ status: r.status, data })))
.then((obj) => obj.status === 200 && console.log("data", obj.data));
} catch (err) {
console.error("Try failed", err.message);
}
};

最新更新