Nodejs入門基礎(http、url、mysql模組)
阿新 • • 發佈:2018-12-11
Node.js特點:單執行緒,非阻塞IO,事件驅動
單執行緒執行任務,如遇到阻塞會掛起任務繼續執行其他,執行完其他再通過事件驅動處理阻塞的任務
node xxx.js 即可直接執行伺服器
第三方外掛需要安裝,在控制檯npm install mysql
案例:登入頁面-註冊頁面訪問並輸出錄入資訊,router.js根據頁面反饋不同的資訊,並輸出資料庫內容
登入頁面:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <!--登入驗證--> <form action="http://localhost:3000/login"> 使用者名稱:<input type="text" name="userName"/><br> 密碼:<input type="password" name="userPass"/><br> <input type="submit" value="提交"/><input type="reset" value="重置"/> </form> </body> </html>
註冊頁面:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <!--註冊驗證--> <form action="http://localhost:3000/register"> 使用者名稱:<input type="text" name="userName"/><br> 密碼:<input type="password" name="userPass"/><br> <input type="submit" value="提交"/><input type="reset" value="重置"/> </form> </body> </html>
router.js:
/*使用http模組*/ var http = require("http"); /*使用var模組*/ var url = require("url"); /*獲取資料庫模組*/ var mysql=require("mysql"); //資料庫資訊 var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : 'root', database : 'login' }); connection.connect(); /*var sql ="select * from users";*/ /*獲取伺服器方法*/ http.createServer( function (request,response) {//相應引數 response.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});//設定編碼格式 var urlString = request.url; console.log(urlString); var dz = url.parse(urlString,true); console.log(dz); if (dz.pathname=="/login"){ console.log("登入"); let userName=dz.query.userName; let userPass=dz.query.userPass; connection.query(sql,function (err, result) { if(err){ console.log('[SELECT ERROR] - ',err.message); return; } console.log('--------------------------SELECT----------------------------'); console.log(result); console.log('------------------------------------------------------------\n\n'); }); response.write(userName); response.write(userPass); } if (dz.pathname=="/register"){ console.log("註冊"); let userName=dz.query.userName; let userPass=dz.query.userPass; let aa=[userName,userPass]; /* //方法一 connection.query(`select * from users where users_id=\'${userName}\' and users_password=\'${userPass}\'`,function (err, result) { if(err){ console.log('[SELECT ERROR] - ',err.message); return; } if (result.length>0){ console.log('--------------------------SELECT----------------------------'); console.log(result); console.log('------------------------------------------------------------\n\n'); } });*/ //方法二,用資料和?代替引數 connection.query("select * from users where users_id=? and users_password=?",aa,function (err, result) { if(err){ console.log('[SELECT ERROR] - ',err.message); return; } if (result.length>0){ console.log('--------------------------SELECT----------------------------'); console.log(result); console.log('------------------------------------------------------------\n\n'); } }); } response.end(); }).listen(3000,"localhost");