За последние 24 часа нас посетили 20274 программиста и 1090 роботов. Сейчас ищут 724 программиста ...

Передача данных в mysl через node js на Windows.

Тема в разделе "JavaScript и AJAX", создана пользователем Artur_hopf, 19 окт 2019.

  1. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Добрый день. Просили показать пример, как записать данные в mysql через node js на Windows

    Шаг 1. Установить node js
    по этой ссылке https://nodejs.org/en/
    для проверки установки вбиваем в консоль node --version и npm -v
    если видите что то такое, то все встало хорошо:

    23233мянный.jpg
    далее создаем где угодно папку с файлом index.js и пишем внутри:
    Код (Javascript):
    1. console.log('наша фаил node.js');
    теперь чтобы запустить этот фаил через node js нам нужно в консоле перейти к нашей папке и написать команду node index.js. И мы увидим результат работы нашего файла:
    weeweый.jpg


    Шаг 2. Подключить express и cors

    пишем в директории с index.js npm install express --save
    после установки пишем npm install cors
    подключаем их ,пишем запуск сервера, и прием post данных на наш сервер:
    Код (Javascript):
    1. let express = require('express');
    2. let cors = require('cors');
    3. let app = express();
    4.  
    5. app.use(cors());
    6.  
    7. app.listen(8080);
    8.  
    9. console.log('Сервер стартовал!');
    10.  
    11. app.use(express.urlencoded({extended: true}));
    12. app.use(express.json());
    13.  
    14. app.post('/ajax', function(request, response){
    15.     let post  = request.body;
    16.  
    17.     console.log(post);
    18.  
    19. });
    запустим наш сервер командой node index.js

    Шаг 3. Создадим html фаил.

    Создадим где угодно html фаил с таким содержимым

    HTML:
    1. <!doctype html>
    2. <html lang="en">
    3.     <meta charset="utf-8">
    4.     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    5.     <title>node</title>
    6. </head>
    7. <form action="/ajax" method="post">
    8.     <input type="text" class="form-control" name="name">
    9.     <button type="submit" class="btn btn-primary">Отправить</button>
    10. </form>
    11. <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
    12. $( "form" ).submit(function( e ) {
    13.     e.preventDefault();
    14.  
    15.     $.post( 'http://localhost:8080/ajax', $(this).serialize(), function( data ){
    16.       console.log(data);
    17.     });
    18. });
    19. </body>
    20. </html>
    В этом файле мы обращаемся к нашему серверу http://localhost:8080/ajax.
    Запускаем html фаил и отправим форму

    123ssй.jpg
    и посмотрим что у нас теперь в консоле:

    чччч.jpg

    Шаг 4. Подключим модуль для работы с mysql

    выполним команду npm install --save mysql2
    и подключимся с своей базе данных mysql а так же передадим полученные от клиента данные name в таблицу где заранее создали поле name.
    Конечный код:
    Код (Javascript):
    1. let express = require('express');
    2. let app = express();
    3. let cors = require('cors');
    4. app.use(cors());
    5. var mysql = require('mysql2');
    6. var conn = mysql.createConnection({
    7.   host     : 'localhost',
    8.   user     : 'artur',
    9.   password : '1234',
    10.   database : 'node'
    11. });
    12.  
    13. conn.connect(function(err) {
    14.   if (err) {
    15.     console.error('error connecting: ' + err.stack);
    16.     return;
    17.   }
    18.   console.log('connected as id ' + conn.threadId);
    19. });
    20.  
    21. app.listen(8080);
    22.  
    23. console.log('Сервер стартовал!');
    24.  
    25. app.use(express.urlencoded({extended: true}));
    26. app.use(express.json());
    27.  
    28. app.post('/ajax', function(request, response){
    29.     var post  = request.body;
    30.     console.log(request.body);
    31.     var query = conn.query('INSERT INTO node_test SET ?', post, function(err, result) {
    32.       console.log(err);
    33.       console.log(result);
    34.   });
    35.   response.send(request.body);
    36.   conn.end();
    37.  
    38. });
    результат выполнения:

    123.jpg
     
    Dron-Boy, TeslaFeo, lastdays и 2 другим нравится это.
  2. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    позитивчик! :)

    спасибо за труды :cool:
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    за труд "есть что почитать" лайк
     
  4. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Единственное тут нет никакой защиты от данных клиента. Просто показано как данные записать.
    Если кому нужно, могу отдельной темой показать как со стороны php передать в exe фаил данные, испульзуя node js. То есть php -> node js -> C#
     
  5. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Всё правильно.

    Мухи отдельно. Котлеты отдельно.

    Нормальный тутор-пример таким и должен быть - максимально упрощенным.

    Ну, либо пошаговым, со ссылкой на репозиторий, где каждый шаг - отдельный коммит.

    Потому что сложных примеров и так полно - бери любой пакет, да разбирайся - а нормальных простых туторов - мало.