nodejs express模組的基礎應用
阿新 • • 發佈:2020-11-30
express 基礎get psot基礎應用
- npm install express 安裝express模組
- 匯入對應的模組
- 使用app = express();建立需要的物件
- 使用app.get/post(路由地址,函式(引數1客戶端連線物件,引數2伺服器物件))
- 要獲得傳送的資料客戶端連線物件.query獲得
- 使用引數2.send傳送給客戶端資料
- 主要post和get 傳送資料的時候的區別,多出一個headers引數,還有一個body的引數
首先編寫伺服器程式碼
//匯入相關的操作 const express = require("express"); //操作相關的物件 const app = express(); //監聽的port const prot = 3000; //監聽操作 app.listen(prot,()=>{ console.log("server is start"); }) //get 請求 /** * 兩個引數一個客戶端的請求,一個是伺服器的操作 */ app.get("/hello",(cl,sl)=>{ //測試 //sl.send("hello"); //獲取相關的資料物件 console.log(cl.query); //伺服器返回給客戶端 sl.send("success"); }) //post請求 app.post("/login",(cl,sl)=>{ console.log(cl.query); cl.on("data",(data)=>{ console.log("client send data"+data.toString()); sl.send("server send data"); }) });
使用nodejs自帶http模組進行客戶端的請求post/get方式
//使用http模組建立一個客戶端進行和express互動的操作 const http = require("http"); function http_get(ip,port,url,data,callback){ //1.建立要傳送的表 let opt = { host:ip, port:port, path:url + "?" + data, method:"GET" } /** * 2.使用http.request進行建立對應的物件 * incomingMessage是獲取資料的物件 */ let res = http.request(opt,(incomingMessage)=>{ //接收資料 incomingMessage.on("data",data=>{ //是否成功收到 if(incomingMessage.statusCode == 200){ callback(true,data);//返回函式 } }) }) res.on("error",(err)=>{ console.log("error",err); }) res.end();//傳送出去 } // http_get("127.0.0.1",3000,"/hello","uname=zhangsan&upasd=123456",(is_ok,data)=>{ // if(is_ok){ // console.log("server is data"+data.toString()); // } // }) //操作post function http_post(ip,port,url,data,body,callback){ //建立要傳送的表 let opt = { host:ip, port:port, path:url + "?" + data, method:"POST", //post 多出來的操作 headers: { "Content-Type": "application/x-www-form-urlencoded",//傳送資料的格式 "Content-Length": body.length//資料的長度 }//end } /** * incomingMessage是獲取資料的物件 */ let res = http.request(opt,(incomingMessage)=>{ //接收資料 incomingMessage.on("data",data=>{ //是否成功收到 if(incomingMessage.statusCode == 200){ callback(true,data);//返回函式 } }) }) //這裡有一個部分是傳送body操作 res.write(body); res.on("error",(err)=>{ console.log("error",err); }) res.end();//傳送出去 } http_post("127.0.0.1", 3000,"/login","user=lisi&pasd=123465","post opt",(is_ok,data)=>{ if(is_ok){ console.log("server send data"+data.toString()); } })
本示例參考express.js的路由部分
nodejs http 部分參考nodejs 中文網 http的部分