Ошибка тайм-аута при попытке отправить запрос с помощью приложения Node Express - PullRequest
0 голосов
/ 16 октября 2019

Я изучаю учебник по созданию формы, которая отправляет данные на мой локальный сервер, и я получаю сообщение об ошибке тайм-аута. Я впервые работаю над почтовыми запросами с помощью экспресс-приложения node.js, и я застрял.

Это код руля:

form method="POST" action="send">
  <div class="form-row">
    <div class="col-md-4 mb-3">
      <label for="validationServer01">First name</label>
      <input type="text" class="form-control is-valid" id="validationServer01" placeholder="First name" value="Mark" required>
      <div class="valid-feedback">
        Looks good!
      </div>
    </div>
    <div class="col-md-4 mb-3">
      <label for="validationServer02">Last name</label>
      <input type="text" class="form-control is-valid" id="validationServer02" placeholder="Last name" value="Otto" required>
      <div class="valid-feedback">
        Looks good!
      </div>
    </div>
    <div class="col-md-4 mb-3">
      <label for="validationServerUsername">Username</label>
      <div class="input-group">
        <div class="input-group-prepend">
          <span class="input-group-text" id="inputGroupPrepend3">@</span>
        </div>
        <input type="text" class="form-control is-invalid" id="validationServerUsername" placeholder="Username" aria-describedby="inputGroupPrepend3" required>
        <div class="invalid-feedback">
          Please choose a username.
        </div>
      </div>
    </div>
  </div>
  <div class="form-row">
    <div class="col-md-6 mb-3">
      <label for="validationServer03">City</label>
      <input type="text" class="form-control is-invalid" id="validationServer03" placeholder="City" required>
      <div class="invalid-feedback">
        Please provide a valid city.
      </div>
    </div>
    <div class="col-md-3 mb-3">
      <label for="validationServer04">State</label>
      <input type="text" class="form-control is-invalid" id="validationServer04" placeholder="State" required>
      <div class="invalid-feedback">
        Please provide a valid state.
      </div>
    </div>
    <div class="col-md-3 mb-3">
      <label for="validationServer05">Zip</label>
      <input type="text" class="form-control is-invalid" id="validationServer05" placeholder="Zip" required>
      <div class="invalid-feedback">
        Please provide a valid zip.
      </div>
    </div>
  </div>
  <div class="form-group">
    <div class="form-check">
      <input class="form-check-input is-invalid" type="checkbox" value="" id="invalidCheck3" required>
      <label class="form-check-label" for="invalidCheck3">
        Agree to terms and conditions
      </label>
      <div class="invalid-feedback">
        You must agree before submitting.
      </div>
    </div>
  </div>
  <button class="btn btn-primary" type="submit">Submit form</button>
</form>

Это код точки входа:

onst express = require ('express');
const bodyParser = require ('body-parser');
const exphbs = require ('express-handlebars');
const nodemailer = require ('nodemailer');
const path = require ('path');

const app = express ();


//View Engine Setup
app.engine ('handlebars', exphbs());
app.set ('view engine', 'handlebars');

//Static Folder
app.use('/public', express.static(path.join(__dirname, 'public')));

//Body Parser Middleware

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());


//route

app.get ('/', (req,res) => {
    res.render('contact', {layout:false})
});

//post route for submission
app.post('/send', (req, res) => {
    console.log(req.body);
});

app.listen (3000,() => console.log ('Server started...'));

Все, что я получаю на своем сервере, это: {} когда я пытаюсь отправить.

1 Ответ

1 голос
/ 16 октября 2019

Каждый раз, когда вы отправляете значение формы на сервер, всегда добавляйте атрибут name в поля ввода. В противном случае вы не получите параметры запроса (req.body) на стороне сервера. Атрибут

name в вашем случае служит свойством JSON. Если вы не предоставите атрибут name, JSON не будет обновляться со значениями поля.

Найдите время, чтобы прочитать этот урок: https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Sending_and_retrieving_form_data

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...