nodejs express模块的基础应用
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的部分
javascript基础教程