This erro i get when i deploy https://github.com/Juan-Vera-ok/Memory-game-fullstack
This is the error i recieve from the client browser, i already tried everything i found in the CORS documentation
Access to XMLHttpRequest at ‘https://memory-game-fullstack.onrender.com/highScore-current-user’ from origin ‘https://memory-game-client.onrender.com’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
This is code from my server:
app.use(cors({
origin: "https://memory-game-client.onrender.com",
credentials: true,
allowedHeaders: ["Content-Type",
"Authorization",
"Access-Control-Allow-Origin"],
methods: ["GET","HEAD","PUT","PATCH","POST","DELETE","OPTIONS"],
preflightContinue:true,
optionsSuccessStatus: 204
}));
This is code from my client:
const checkPattern = async (userPattern: number[]) => {
let lost = false
for (let i = 0; i < userPattern.length; i++) {
if (pattern[i] != userPattern[i]) {
lost = true
break;
}
}
if (lost) {
setisPlaying(false)
setPattern([]);
setUserPattern([]);
} else {
if (pattern.length === userPattern.length) {
const newPattern = generateRandomNumber();
await setTimeout(() => { showPattern(newPattern) }, 1000)
setPattern(newPattern)
setUserPattern([]);
if (userPattern.length > userHighScore) {
const newUserHighScore = userHighScore + 1;
setUserHighScore(newUserHighScore)
const response = axios.post(`${BACKEND_URL}/update-highscore`, { newUserHighScore },
{
withCredentials:true,
})
}
}
}
};
This is the code from the server, the route /update-highscore
export const updateHighScore: RequestHandler = async (req, res) => {
console.log(req.cookies.token)
const tokenPromise = verifyToken(req.cookies.token)
tokenPromise.then(async (_id) => {
const user = await User.findById(_id);
if (!user) { throw new Error }
if (!user.highScore||user.highScore < req.body.newUserHighScore) {
await User.updateOne({ _id: user._id }, { $set: { 'highScore': req.body.newUserHighScore } })
return res.json(user)
}
})
}
Sorry for my bad english, it’s not my language
I tried to update the highScore of current user on the database sending a POST petition with axios from the client and does’n work. This is the error i get:
Access to XMLHttpRequest at ‘https://memory-game-fullstack.onrender.com/highScore-current-user’ from origin ‘https://memory-game-client.onrender.com’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
Juan Vera is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.