Как мне сделать запрос на другой локальный сервер? - PullRequest
0 голосов
/ 01 ноября 2019

Проект, связанный с веб-пакетом

вот моя форма

<form class="book-form" method="POST" action="/about.html">
    <input type="text" name = 'name'class="padding3" placeholder="Введіть ваше ім'я" />
    <input type="text" name = 'phone_number'class="padding3" placeholder="Ваш номер телефону" />
    <select class = "select" name="select-films"></select>
    <input type="submit" class="button"> </input>                        
</form>

Мне нужно записать это значение в файл. Я не знаю, как управлять сервером веб-пакетов по умолчанию, поэтому я создал внешний экспресс-сервер, на котором мне нужно сделать запрос и сохранить его с помощью модуля fs. Как я могу это сделать?

Мои попытки сделать запрос

const bookForm = document.querySelector(".book-form");
const select = document.querySelector(".select");
const fs = require("fs");
const name = document.getElementsByName('name');
const number = document.getElementsByName('phone_number');

export let fragment = '';

export function abc() {
  bookForm.addEventListener("submit", e => {
    e.preventDefault();
    fragment += name[0].value + ' ' +number[0].value + ' ' + select.options[select.selectedIndex].text;
    xhr.open('POST', 'http://localhost:3000', true)
    xhr.send(fragment)

xhr.onreadystatechange = function() { // (3)
  if (xhr.readyState != 4) return;

  if (xhr.status != 200) {
    console.log(xhr.status, xhr.statusText)
    alert(xhr.status + ': ' + xhr.statusText);
  } else {
    alert(xhr.responseText);
  }

}
  });
}

Моя попытка обработать запрос. Помогите мне, пожалуйста

const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const fs = require('fs')

app.use(express.static(__dirname + '/src')); 

urlencodedParser = bodyParser.urlencoded({extended: false})

app.get('localhost:9000/about', function(req, res){
    console.log(req.body);
    console.log(res.body)
    const sth = `${req.body.name}\n +${req.body.phone_number}\n `
    fs.writeFile('text.txt', sth, (err)=> {throw err})
}
)

app.listen(3000)

1 Ответ

2 голосов
/ 01 ноября 2019
<div class="book-form">
  <input type="text" name='name' id="name" class="padding3" placeholder="Введіть ваше ім'я" />
  <input type="text" name='phone_number' id="phone_number" class="padding3" placeholder="Ваш номер телефону" />
  <select class="select" name="select-films"></select>
  <input type="button" class="button" id="submitBtn" />
</div>


<script>
  $("#submitBtn").click(function () {
    $.post("http://localhost:9000/about",
      {
        name: $('#name').val(),
        phone_number: $('#phone_number').val()
      },
      function (data, status) {
        alert("Data: " + data + "\nStatus: " + status);
      });
  });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...