Не могу распечатать результаты на моей консоли с помощью nodejs

Я здесь новичок и, конечно же, я новичок в технологии nodejs. Я пишу вам, потому что у меня есть большая проблема для меня, может быть небольшая проблема для вас, со следующим:

У меня есть эта часть кода, и я хочу, чтобы когда пользователь нажимал кнопку, пользователь вставлял для него 3 значения: UserId, GameId, Bookid. Затем я хочу с помощью node js распечатать результаты на моей консоли. Но я вижу из F12, что он говорит о проблеме с этой строкой.

loadnodejs.html:9 Uncaught ReferenceError: require is not defined -> var mysql = require('mysql');.

Я выполнил процедуру из w3schools, но ничего не отображается. Вы можете помочь мне распечатать результаты на моей консоли?

<html>
   <head>
      <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
      <script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
      <script>
         function load3() {
         do{
         var selection = window.prompt("Give the User Id:", "Type a number!");
         if ( /^[0-9]+$/.test(selection)) {
         flag1=false;
         }
         }while(flag1!=false);

         var flag2 = true;
           do{
         var selection2 = window.prompt("Give the Book Id:", "Type a number!");
         if ( /^[0-9]+$/.test(selection2)) {
         flag2=false;
         }
         }while(flag2!=false);

         var flag3= true;
         do{
         var selection3 = window.prompt("Give the Game Id:", "Type a number!");
         if ( /^[0-9]+$/.test(selection3)) {
         flag3=false;
         }
         }while(flag3!=false);

         var mysql = require('mysql');
         var con = mysql.createConnection({
         host: "127.0.0.1",
         user: "root",
         password: "",
         database: "mysql3"
         });
         con.connect(function(err) {
         if (err) throw err;
         con.query("SELECT * FROM components", function (err, result) {
         if (err) throw err;
         console.log(result);
         });
         });
         }
      </script>
   </head>
   <body>
      <input type="button" value="Load" id="load" onclick="load3()" class="button12" />   
   </body>
</html>

Вы не пишете код Node Js в HTML-файле. Предполагается, что он находится в файле js и обслуживается сервером.

kiddorails 26.10.2018 08:52

@kiddorails спасибо за информацию. Как с кнопки вызвать тот файл, который будет на сервере? Должен ли я создать форму и вставить тег действия?

Katire 26.10.2018 08:55

@Katire Я думаю, вам следует изучить основы использования nodejs, чтобы лучше понять, как его настраивать и использовать. Вы можете найти множество руководств в Интернете.

NewToJS 26.10.2018 08:58
1
3
60
2

Ответы 2

Node.js - это JavaScript, работающий на сервере. Вы добавили код Node.js в HTML-файл, который запускается в браузере. Браузер не поддерживает Node.js, отсюда и ошибка.

Сделайте вызов API на сервер и переместите код Node.js на сервер. Я надеюсь, что это имеет для вас смысл.

Спасибо за ответ! Хорошо, я создам файл js (например, myjs1.js) и перейду на сервер. Но как мне сделать вызов API? Вы можете мне показать что-нибудь подобное?

Katire 26.10.2018 08:54

@Katire использует Принести для вызовов API к бэкэнду.

tbking 26.10.2018 09:03

Node.JS - это серверная технология, а не браузерная. Таким образом, специфичные для узла вызовы, такие как require (), не работают в браузере.

См. [Browserify]: http://browserify.org/ или webpack, если вы хотите обслуживать специфичные для браузера модули из Node.

Другие вопросы по теме