Использование POST для регистрации в HTML-файле

#javascript #html #mongodb #post #postman

#javascript #HTML #mongodb #Публикация #почтальон

Вопрос:

В настоящее время я работаю над проектом для школы. Я создаю как серверную часть, так и внешнее приложение. У меня есть POST, работающий на серверной части, и я протестировал его с postman, и он публикует и сохраняет его в MongoDB. Как я могу заставить post работать, если он находится в браузере? У меня есть форма с именем, фамилией, электронной почтой и паролем. Как мне опубликовать в браузере? Возможно ли опубликовать на реальном сервере?

Я попытался разместить его на heroku, и это не сработало. Я пробовал хостинг на react, но это работает, но я бы предпочел сделать это на liveserver, если это возможно.

вот мой HTML-файл для регистрации.

 <!DOCTYPE html>
<html lang="en">

    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Register</title>
    <style>
        html{
            background-color:hsl(60, 20%, 80%);



        }
        input[type=text],
        input[type=password] {
            width: 100%;
            padding: 15px;
            border: black 1.5px solid;
            background: #f1f1f1;
        }

        input[type=text]:focus,
        input[type=password]:focus {
            background-color: #ddd;
            outline: none;
        }


        button {
            background-color: #4CAF50;
            color: white;
            padding: 14px 20px;
            margin: 8px 0;
            border: none;
            cursor: pointer;
            width: 100%;
            opacity: 0.7;
        }

        button:hover {
            opacity: 1;
        }

        .cancelbtn {
            padding: 14px 20px;
            background-color: #f44336;
        }

        .cancelbtn,
        .signupbtn {
            float: left;
            width: 50%;

        }



        .clearfix::after {
            content: "";
            clear: both;
            display: table;
        }
    </style>
</head>

<body>
    <form>
        <h1>Sign Up</h1>
        <p>Please fill in this form to create your accout.</p>
        <label for="firstname"><b>First Name</b></label>
        <input type="text" placeholder="Enter First Name" name="firstname" required>

        <label for="lastname"><b>Last Name</b></label>
        <input type="text" placeholder="Enter Last Name" name="lastname" required>

        <label for="email"><b>Email</b></label>
        <input type="text" placeholder="Enter Email" name="email" required>

        <label for="psw"><b>Password</b></label>
        <input type="password" placeholder="Enter Password" name="psw" required>

        <div class="clearfix">
            <button type="button" class="cancelbtn">Cancel</button>
            <button type="submit" class="signupbtn">Sign Up</button>
        </div>
    </form>


</body>

</html>
  

вот мой метод post для серверной части.

 router.post('/', sanitizeBody, async (req, res) => {
      console.log(req.sanitizeBody);
      let password = await bcrypt.hash(req.body.password, saltrounds)
    new User({
        firstName: req.body.firstName,
        lastName: req.body.lastName,
        password,
        email: req.body.email,
        isStaff: req.body.isStaff
    }).save().then(result => {
        res.status(201).send(result);
    }).catch(err => {
        res.send(err);
    })

  })
  

Я ожидаю опубликовать на HTML-странице, а не размещать ее на postman. Я бы хотел, чтобы это было опубликовано на index.html живой сервер, когда я нажимаю отправить.

Комментарии:

1. heroku может быть сложной задачей, поскольку файловая система немного странная. Если вы хотите размещать live, попробуйте что-то вроде 000webhost. Альтернативой может быть запуск apache tomcat в качестве локального сервера и отладка на вашем домашнем компьютере.

2. Невозможно опубликовать с живого сервера, а затем, когда я публикую, он отправляет в Mongo?

3. пожалуйста, перефразируйте свой вопрос, чтобы он имел смысл. Если Mongo установлен на сервере, вы должны иметь доступ к нему из серверной части. Используете ли вы node для серверной части?