我想使用nodejs开发缩短URL的应用程序,但一切正常,但是我在验证原始URL时遇到了麻烦,我认为它不能访问post参数。 我已使用POST方法的html形式(即“ api / item”)重定向了该网址 它不能正常工作,我的输入元素名称是ourl。
/* const mongoose = require("mongoose");
const validUrl = require("valid-url");
const UrlShorten = mongoose.model("UrlShorten");
const shortid = require("shortid");
const shortCode = shortid.generate(); */
module.exports = app => {
/* app.get("/api/item/:code", async (req, res) => {
const urlCode = req.params.code;
const item = await UrlShorten.findOne({
urlCode: urlCode
});
if (item) {
return res.redirect(item.originalUrl);
} else {
return res.redirect(constants.errorUrl);
}
}); */
app.post("/api/item", async (req, res) => {
const originalUrl = req.body.ourl;
console.log(originalUrl + "hi")
return res.status(401).json(originalUrl);
res.json(originalUrl);
const shortBaseUrl = "https://onebytwo.in"
if (validUrl.isUri(shortBaseUrl)) {} else {
return res.status(404).json("Invalid Base Url format");
}
const urlCode = shortCode;
const updatedAt = new Date();
if (validUrl.isUri(originalUrl)) {
try {
const item = await UrlShorten.findOne({
originalUrl: originalUrl
});
if (item) {
res.status(200).json(item);
} else {
shortUrl = shortBaseUrl + "/" + urlCode;
const item = new UrlShorten({
originalUrl,
shortUrl,
urlCode,
updatedAt
});
await item.save();
res.status(200).json({
originalUrl,
shortUrl,
urlCode,
updatedAt
});
}
} catch (err) {
res.status(401).json("Invalid User Id");
}
} else {
return res.status(401).json("Invalid Original Url.");
}
});
};
请指出我出了错