我試圖從后端重定向瀏覽器,但每次都會收到這個 cors 錯誤。在后端,我使用了 CORS 包,但是,它似乎不起作用。
這是代碼的客戶端站點
useEffect(() => {
async function getData() {
try {
// The params get from the url.
const {
data
} = await axios.get(`http://localhost:5000/${url}`);
setDestination(data);
} catch (error) {
setError(error.message);
}
}
getData();
}, [url]);
useEffect(() => {
if (destination) {
window.location.replace(destination);
}
}, [destination]);
這是代碼的服務器站點
// app.js
const express = require("express");
const cors = require("cors");
const app = express();
app.use(express.urlencoded({
extended: false
}));
app.use(express.json());
app.use(cors());
//redirect controller
exports.redirect = asyncErrorHandler(async(req, res, next) => {
const shortUrl = await urlSchema.findOne({
shortUrl: req.params.shortUrl
});
if (!shortUrl) {
return next(new ErrorHandler("Invalid URL", 404));
}
const url = shortUrl.fullUrl;
res.redirect(url);
});
uj5u.com熱心網友回復:
您向我們展示的服務器端代碼在啟用 CORS 時會重定向到另一個 URL。
在重定向重定向回應和對后續請求的回應時,必須授予 CORS 權限。
您不能通過向http://third-party.example.com/(which is) 發出請求http://mine.example.net/并重定向到http://third-party.example.com/.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/443517.html
標籤:javascript 节点.js 反应 表示 科尔斯
上一篇:節點:行程和行程之間有什么區別?
