今天是學(xué)習(xí)node的第一天
準(zhǔn)備事項(xiàng),node,mysql奏寨,navicat
一、創(chuàng)建node項(xiàng)目
npm init
一路傻瓜式回車努酸,然后我們就得到了這樣一個(gè)文件
image.png
image.png
二服爷、下載mysql依賴(已經(jīng)安裝好mysql哦)
npm install mysql -save
三、簡單整理下項(xiàng)目
image.png
四获诈、建表
我是直接用navicat建的表仍源,注意數(shù)據(jù)庫名和表名不要寫錯(cuò)了
image.png
image.png
ps:后面操作中發(fā)現(xiàn)一個(gè)問題,輸入中文字符會報(bào)錯(cuò)舔涎,原來沒有處理字符集笼踩,需要我們在建數(shù)據(jù)庫的時(shí)候就處理下字符集,改為utf8亡嫌,如果建完表之后重新修改數(shù)據(jù)庫字符集嚎于,需要重新建表哦
image.png
五、開始寫代碼挟冠,
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>register</title>
</head>
<body>
<div>
<label for="user">用戶名</label><input type="text" id="user">
</div>
<div>
<label for="password">密碼</label><input type="password" id="password">
</div>
<div>
<button id="register">注冊</button>
<button id="login">登錄</button>
</div>
</body>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(function () {
$("#register").click(function () {
$.ajax({
url: "http://localhost:3000/register",
type: "POST",
data: {
username: $("#user").val(),
password: $("#password").val()
},
success: function (res) {
alert(res.msg)
if (res.code === 200) {
// TODO....
}
},
error: function (err) {
console.log(err)
}
})
})
})
$(function () {
$("#login").click(function () {
$.ajax({
url: "http://localhost:3000/login",
type: "POST",
data: {
username: $("#user").val(),
password: $("#password").val()
},
success: function (res) {
alert(res.msg)
if (res.code === 200) {
// TODO....
}
},
error: function (err) {
console.log(err)
}
})
})
});
</script>
</html>
index.js
var http = require("http")
var url = require("url")
var qs = require("querystring")
var fs = require("fs")
var connection = require('./util/mysql/mysql')
http.createServer(function (req, res) {
//設(shè)置請求頭
res.setHeader("Access-Control-Allow-Origin", "*")
if (req.method == "POST") {
//接收發(fā)來的用戶名和密碼
var result = ""
req.addListener("data", function (chunk) {
result += chunk
})
req.on("end", function () {
var user = qs.parse(result);
console.log(user.username, '密碼', user.password)
// 寫入數(shù)據(jù)庫
let sql = "INSERT INTO `stt-user` (id, name, password) VALUES(0,?,?)"
let params = [user.username, user.password]
console.log(sql, params)
connection.query(sql, params, (err, result) => {
if (err) {
console.log("插入失敗" + err.message)
return
}
console.log('插入成功')
})
return
})
} else {
}
}).listen(3000, function (err) {
if (!err) {
console.log("服務(wù)器啟動成功于购,正在監(jiān)聽port3000...")
}
})
mysql
const mysql = require(`mysql`)
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'root',
database: 'mysql',
port: '3306'
})
//創(chuàng)建一個(gè)connection
connection.connect(function (err) {
if (err) {
console.log('連接失敗:' + err)
return
}
console.log('連接成功')
})
module.exports = connection