#作用:將查詢字串轉換為物件
引用:
var qs = require("querystring");
常用API:
qs.parse(str);
範例:
const qs = require("querystring"); var url = "uname=lilei&upwd=123456"; var obj = qs.parse(url); console.log(obj);
輸出:
{ uname: 'lilei', upwd: '123456' }
作用:將url位址各個部分轉換為js物件屬性
引用:
var url = require("url");
var url = require("url"); var u = " var obj = url.parse(u); console.log(obj);// Url { // protocol: 'http:', // slashes: true, // auth: null, // host: ' // port: null, // hostname: ' // hash: null, // search: '?uname=lilei', // query: 'uname=lilei', // pathname: '/index.html', // path: '/index.html?uname=lilei', // href: 'http://www.baidu.com/index.html?uname=lilei' // }2、var obj = url .parse(u,true)
var url = require("url"); var u = " var obj = url.parse(u,true); var uname = obj.query.uname;console.log(uname); //lileifs
##範例:#1#rr#12是什麼是什麼是什麼是什麼是什麼是什麼是阻塞?
由於Node.js是單一線程,一個程式只能等待另一個程式執行完畢後執行,故這種等待的狀態叫做阻塞
非阻塞狀態下API:
fs.readFile(fileName,(err,data)=>{}); 讀取檔案內容## fs.writeFile(fileName,(
# )=& fs.writeFile(fileName,(
## fs.appendFile(fileName,(err,data)=>{});追加寫入檔案
範例:
const fs = require("fs"); var str = "这是一段文字"; var fileName = "./index.html"; var data = fs.readFileSync(fileName); console.log(data.toString()); /*<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>欢迎访问Node服务器</h1> </body> </html> */ var fileName = "./name.log"; fs.writeFileSync(fileName,str); var str1 = "这是一段追加文字"; fs.appendFileSync(fileName,str1);
案例:使用http協定寫一個web伺服器
const fs = require("fs"); var str = "这是一段文字"; var fileName = "./index.html"; fs.readFile(fileName,(err,data)=>{ if(err) throw err; console.log(data.toString()); /*<!DOCTYPE html> <html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>欢迎访问Node服务器</h1> </body> </html> */ }) fs.writeFile(fileName,str,(err)=>{ if(err) throw err; console.log("写入成功"); }) fs.appendFile(fileName,str,(err)=>{ if(err) throw err; console.log("追加成功"); })
----------------------- -------------------------------------------------- ------------------------------------------
第三方模組const mysql = require("mysql");
使用案例:
const http = require("http"); var server = http.createServer(); server.listen(3000); server.on("request",(req,res)=>{ //req对象:客户请求消息 //res对象:服务器响应对象 //解析客户请求消息 //向客户端输出相应消息 console.log("node服务器接收到相应"); })
附註:
資料庫中常見安全漏洞:sql注入
利用特殊字元# ' or1=1 DROP select info完成對資料入侵操作
# node .js解決方案
sql佔位符
SELECT aid FROM xz_admin WHERE aname = ? ANDapwd = md5(?)
conn.query(sql,["tom" ,"123"]);
使用「池」
提升效率,打打減少建立連結與關閉連線所需的時間
## 如何使用
const mysql = require("mysql"); var conn = mysql.createConnection({ host:"127.0.0.1", user:"root", password:"", port:3306, database:"database"}); var sql = "select * from database";conn.query(sql,(err,result)=>{ if(err) throw err; console.log(result); //result 为最终查询结果 });
以上是總結Node.js的常用模組的詳細內容。更多資訊請關注PHP中文網其他相關文章!