无法使用NodeJS将结果打印到我的控制台

时间:2018-10-26 06:47:55

标签: javascript html node.js

我是这里的新手,当然,我也是nodejs技术的新手。 我写信给您,是因为我对我有一个大问题,也许对您来说有一个小问题,如下:

我有这段代码的一部分,我希望当用户单击按钮时,该用户应该为他插入3个值:UserId, GameId, Bookid。然后,我想在节点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>

2 个答案:

答案 0 :(得分:2)

Node.js是在后端运行的JavaScript。您已将Node.js代码添加到HTML文件中,该文件可在浏览器中运行。浏览器不支持Node.js,因此不支持该错误。

对服务器进行API调用,然后将Node.js代码移至服务器。我希望这对您有意义。

答案 1 :(得分:1)

Node.JS是服务器端技术,而不是浏览器技术。因此,特定于节点的调用(例如require())在浏览器中不起作用。

如果希望从Node提供特定于浏览器的模块,请参见[browserify]:http://browserify.org/或webpack。