我是这里的新手,当然,我也是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>
答案 0 :(得分:2)
Node.js是在后端运行的JavaScript。您已将Node.js代码添加到HTML文件中,该文件可在浏览器中运行。浏览器不支持Node.js,因此不支持该错误。
对服务器进行API调用,然后将Node.js代码移至服务器。我希望这对您有意义。
答案 1 :(得分:1)
Node.JS是服务器端技术,而不是浏览器技术。因此,特定于节点的调用(例如require())在浏览器中不起作用。
如果希望从Node提供特定于浏览器的模块,请参见[browserify]:http://browserify.org/或webpack。