我遇到了一个错误,我的应用程序,我试图修复,其中无论是表达将给予我'无法发布/登录'或将重定向到一个/url?页面。
我已经尝试解决这个问题,下面是我的代码:
index2.ejs:
<html>
<%- include('partials/header.ejs'); -%>
<body>
<div id="top-block">
<form id="login" method="post">
<label>Create A Display Name...</label>
<input type="text" id="name">
<br><br>
<label>Create A Profile Picture...</label>
<input id="pfp" type="text">
<br><br>
<label>Create A Bio...</label>
<input id="bio" type="text">
<br><br>
<input type="submit" formmethod="post">
<button onclick="window.location = '/'">Back to main page</button>
</form>
<script>
var user = localStorage.get('user')
var base = "";
function getBase64(file) {
var reader = new FileReader();
reader.readAsDataURL(file)
reader.onloadend = function() {
globalThis.base = reader.result.toString()
// document.write(globalThis.base)
};
reader.onerror = function (error) {
console.log('Error: ', error);
};
}
$('#login').submit(function (e) {
e.preventDefault();
localStorage.setItem("uname", $('#name').val())
localStorage.setItem("pfp", $('#pfp').val())
localStorage.setItem("url", '/profile?pfp=' + $('#pfp').val() + '&disName=' + $('#name').val() + '&genName=' + localStorage.getItem('user') + '&bio=' + $('#bio').val())
})
</script>
</body>
</html>
index2.js:
const express = require("express");
const router = express.Router();
router.get("/", function (req, res) {
res.render("index2.ejs");
});
router.get("/", function (req, res) {
res.render("index.ejs");
});
module.exports = router;
我的代码应该做的是当我按下按钮时重定向到'/'(索引页),但相反,它要么说它不能发布/登录,要么重定向到/登录?.所以你们有什么想法,任何帮助都很感激,谢谢。
1条答案
按热度按时间iqxoj9l91#
您当前在index2.js中有两个使用相同路由(“/”)和相同HTTP方法(“GET”)的路由。
这将导致冲突。确保定义一个路径来查看index2.js页面,另一个路径重定向到index.js页面。
然后通过添加action属性来修改表单,以指定发送POST请求的路由。
你的表格的其余部分,太多的东西在一起,修复这些东西,然后让我们看看它是如何进行的。