当前位置: 首页 > 知识库问答 >
问题:

Express JS重定向到包含无效电子邮件的表单

拓拔富
2023-03-14

我是nodeJS的新手,我一直在尝试创建一个带有验证的注册表单。

验证部分使用sql查询语句完成,但我无法从服务器端重定向回带有消息信息(如“电子邮件地址已存在”)的注册表。

如何在客户端register.js上处理此问题?

register.js

      <form id='register-form' method="POST"  action="http://localhost:3306/register">

服务器js

app.post('/register', (req,res) => {  
var email = req.body.email;
var password = req.body.password;

let sql = "SELECT * FROM user WHERE email='" + email + "'";

db.query(sql,(err,result) => {
if (err) throw err;

if (result.length > 0) {
  console.log("user already exists");
  res.redirect('http://localhost:3000/#/Register');
} else {
  insertUser(email,password);
  res.send(email + " has been added to database");
}

共有1个答案

郎同化
2023-03-14

有很多查询。。。

  • 我不知道你是否注册了。html文件位于使用express静态中间件公开访问的任何文件夹(例如,public)中。如果是,我希望您正在设置静态中间件

应用程序。使用(express.static('public'));

  • 如果数据库中已存在电子邮件id,是否将响应作为错误请求发送?,如果(!result.length)
    res.status(400),请尝试下面的内容。json(“电子邮件Id已经存在”)

res.status(400)。发送(400,{错误:'电子邮件ID已经存在'});

>

  • 你需要一个身体解析器来解析URL编码的符号...

    let express=require('express');
    let app = express();
    let server = require('http').createServer(app);
    
    var bodyParser = require('body-parser');
    var parseUrlencoded = bodyParser.urlencoded({ extended: false });
    
    app.use(express.static('public'));
    
    
    app.post('/register', parseUrlencoded, (req,res) => {
        var email = req.body.email;
        var password = req.body.password;
          if (!email) {
            res.writeHead(404,
                 {Location: 'http://localhost:3306/register.html'}
             );
            res.end();
           }
           else{
              res.status(200).json('email is not empty');
            }
    });
    server.listen(3306, ()=> console.log('app started'));
    

    一些例子:在REST API中设置响应状态和JSON内容的正确方法

    错误:发送到客户端后无法设置标头

  •  类似资料:
    • 我运行了一个AWS Elastic Beanstalk环境,并设置了AWS SES。我有一个发送和接收电子邮件的电子邮件地址。到现在为止,一直都还不错。然而,发送到作为单个文件存储在我的S3存储桶中。因为它是一般支持的电子邮件地址,所以指向它的消息将由支持团队回复(不能要求支持团队从S3下载单个文件)。我的想法是将电子邮件重定向到发送到其他电子邮件地址。我可以通过AWS SES来实现这一点,还是有

    • 首先,我正在发送电子邮件给数量的客户,可能会像16000封邮件,不幸的是,我发现问题在我的自定义字体。我不能加载到我的邮件页面。我试过这个: With link tag in HTML 不要告诉我让它成为图像,因为我不能,原因是邮件表单将通过PHP生成。 任何帮助都将不胜感激。

    • 重定向url的长度显得很长。看起来像是在重演。 https://app.page.link?link=https://app.firebaseapp.com//auth/action?apikey%3xxx%26mode%3dverifyemail%26oobcode%3xxx%26continueurl%3dhttps://www.app.com/?verifyemail%253demail@g

    • 我被困了24小时所以这是我的最后一次机会。 当我输入我的登录详细信息:电子邮件和密码,它说不正确的电子邮件。电子邮件在数据库里。我的注册表正常工作。我不明白为什么我的登录表单不工作或哪里出错。 当它在第100行显示“不正确的电子邮件”时,其中($row===false)。 我真的很困惑。如果有人能帮助我或与我一起工作,我将非常感激。 登录表单: Connectdb代码: PHP代码:

    • 如果PhpMailer包含堆栈(例如。它总是返回“无效地址”错误。 有没有办法忽略这张支票?还是有充分的理由?我似乎在代码中找不到它,因此我没有在这里包含它。 非常感谢您的帮助。

    • 我正在尝试通过PHPMailer发送电子邮件,它工作得很好。只有一个问题,我不知道如何解决。有可能,我可能需要尝试发送电子邮件到一个无效的地址,因为一个不存在的域。因为域名不存在,所以这些电子邮件不会被发送也没关系。当我尝试发送电子邮件时,会收到一条错误消息,PHPMailer将停止,并且不会继续向其他(有效)地址发送电子邮件。有没有办法跳过那些无效的电子邮件并强制PHPMailer继续而不显示错

    • 如果PhpMailer包含堆栈(例如。它总是返回“无效地址”错误。 有没有办法忽略这张支票?还是有一个很好的理由?我似乎在代码中找不到它,因此我没有在这里包含它。 非常感谢您的帮助。

    • 我试图发送附加文件到电子邮件。但是我无法将附件文件连同表格数据发送到电子邮件。我试过了 超文本标记语言: sendmail.php: 我尝试了相同的代码没有$strHeader在mail()邮件被发送,但当我添加$strHeader到mail()我无法发送代码。请指导我在哪里做错误,也请告诉我如何才能只允许jpg,jpeg,png格式上传。对我来说,编辑代码对我来说很容易学习。我在stackove