Nodejs кнопка подписки перенаправляет меня на 127.0.0.1 - PullRequest
0 голосов
/ 27 мая 2020

Когда я нажимаю кнопку подписки, моя страница перенаправляется на 127.0.0.1, и в console.log ничего не появляется. Почему это

HTML

<!DOCTYPE html>
<html lang="en">
   <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Abonelik</title>
      <link rel="stylesheet" 
         href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
         integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" 
         crossorigin="anonymous">
      <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
         integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" 
         crossorigin="anonymous"></script>
      <link rel="stylesheet" href="signin.css">
   </head>
   <body>
      <div class="parent-wrapper">
         <span class="close-btn glyphicon glyphicon-remove"></span>
         <div class="subscribe-wrapper">
            <h4>Abone Olun</h4>
            <form action="/" method="POST">
               <input type="text" name="fname" class="subscribe-input" placeholder="Adınız">
               <input type="text" name="lname" class="subscribe-input" placeholder="Soyadınız">
               <input type="email" name="email" class="subscribe-input" placeholder="Mail Adresiniz">
               <button type="submit">Abone Ol</button>
            </form>
         </div>
      </div>
   </body>
</html>  

Nodejs

//jshint esversion:6
const express = require("express");
const bodyParser = require("body-parser");
const request = require("request");
const https = require("https");
const app = express();
app.use(express.static("public"));
app.use(bodyParser.urlencoded({
    extended: true
}));
app.get("subs", function(req, res) {
    res.sendFile(__dirname + "/signup.html");
});
app.post("/", function(req, res) {
    const mail = req.body.email;
    const ilkad = req.body.fname;
    const soyad = req.body.lname;
    console.log(fname, lname, email);
    const data = {
        members: [{
            email_address: mail,
            status: "Subscribed",
            merge_fields: {
                FNAME: fname,
                LNAME: lname,
            }
        }]
    };
    const jData = JSON.stringify(data);
    const url = "https://usX.api.mailchimp.com/3.0/lists/";
    const option = {
        method: "post",
        auth: ""
    };
    const request = https.request(url, options, function(response) {
        response.on("data", function() {
            console.log(JSON.parse(data));
        });
    });
    request.write(jData);
    request.end();
});
app.listen(3000, function() {
    console.log("Server Çevrimiçi");
});

Я просто хотел применить кнопку подписки как функцию для отправки данных в гипертерминал когда пользователь регистрирует почту имя фамилия et c. но когда я нажимаю, он перенаправляет меня на 127.0.0.1, который является локальной папкой. и я почти уверен, что что-то не так между app.get и направлением формы, но я не знаю, как решить эту проблему. Я знаю, что это длинный пост, извините за это, но я действительно ценю некоторую помощь. спасибо.

1 Ответ

0 голосов
/ 27 мая 2020

Вы печатаете неправильные переменные. Поскольку вы делаете это:

const mail = req.body.email;
const ilkad = req.body.fname;
const soyad = req.body.lname;

, вы должны распечатать данные из запроса:

console.log(ilkad, soyad, email);

Кроме того, хорошей практикой является использование деструктуризации объекта следующим образом:

const {email, fname, lname} = req.body

, а затем используйте:

console.log(fname, lname, email);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...