ОБНОВЛЕНИЕ: я проверяю наличие /: slug, даже если я go на другой маршрут, я думаю, что это вызывает проблему.
Я пытаюсь создать URL-адрес Сокращатель с Nodejs, Expressjs, MongoDB и E JS.
Несмотря на то, что мое приложение работает отлично, я продолжаю получать эту ошибку в терминале: введите описание изображения здесь
Мои маршруты:
const express = require("express");
const URLs = require("../models/urls");
const { findById, find } = require("../models/urls");
const router = express.Router();
router.get("/", (req, res) => {
res.render("index", { shortUrl: new URLs() });
});
router.post("/redirect", (req, res) => {
let url = req.body.url;
let slug = req.body.slug;
let shortenUrl = new URLs({
url: url,
slug: slug,
});
shortenUrl.save();
res.render("shortenUrl", { shortenUrl });
});
router.get("/about", (req, res) => {
res.render("about");
});
router.get("/contact", (req, res) => {
res.render("contact");
});
router.get("/all", async (req, res) => {
try {
var shortUrls = await URLs.find({});
res.render("all", { shortUrls });
} catch (error) {
console.log(error);
}
});
//:TODO
router.get("/:slug", async (req, res) => {
var shortUrl = await URLs.findOne({ slug: req.params.slug }).exec();
try {
console.log(shortUrl);
var urls = await shortUrl.url;
if (urls.includes("http", 0)) {
return res.redirect(urls);
} else {
return res.redirect(`http://${urls}`);
}
} catch (error) {
console.log(error);
}
});
module.exports = router;
Я не получал эту ошибку, пока не сделал API для приложения (в отдельном файле маршрутов). Также на моем сервере я использую:
app.use(bodyParser.urlencoded({ extended: false }));
, а использование:
app.use(express.json());
тоже не помогает.
Любая помощь приветствуется, спасибо c: