前端传参
- get传参:拼接在url上面
- http://127.0.0.1:4399/joke?id=8&username=admin
- post传参:不是拼接在url上面
- 请求体中传递
nodejs接收get传递过来的参数
-
1.导入模块
-
2.创建服务器
使用node.js的一个模块:url模块
-
3.开启服务器
//1.导入模块
const http = require("http");
const url = require('url')
//2.创建服务器
const server = http.createServer((req, res)=>{
//req是请求的对象,req.url能 拿到请求的ur1中?以及?后面的内容
// console.log(req.url);//'?id=8&username=weige'
//我们可以通过req.url拿到前端传递过来的参数
//但是要做字符串的处理.
//我们可以使用node.js的一个模块:url模块
//调用他的parse方法
//第一个参数:就是要处理的url
//第二个参数:如果给true的话就返回一个对象
let url0bj = url. parse(req. url, true);
// console. log(url0bj);
//这个返回的对象里面有一个query属性,他也是一个对象,这个属性里面就有get传递过来的参数.
console.log(ur10bj .query);
//那就可以在这里根据这个接收到的id,去数据库中获取这个id的英雄的所有详细信息
//返回给调用这.
//如果在这里拿到了id对应的英雄的详细信息了, 就可以返回
res.end(JSON.stringify(urlObj. query));//只能返回字符串.
})
//3.开启服务器
server. listen(4399,()=>{
console.log( '服务器开启了...');
});
nodejs接收post传递过来的参数
- 1.导入模块
- 2.创建服务器
- 1.你得有一个容器
- 2.给req对象-个data事件
- 3.给req对象一个end事件
- 4.解析这个传递过来的参数数据。
- 5.去数据库中判断是否是正确
- 3.开启服务器
//1.导入模块
const http = require("http");
const querystring = require( 'querystring' );
//2.创建服务器
const server = http.createServer((req, res)=>{
//req是请求对象
//因为这里是post的方式传递过来的参数,不是在ur1中的,所以用req.url是拿不到的.
// console.log(req.url);
//那如何拿呢?
//一小块一小块的拿.
//1.你得有一个容器
let postData =" ";
//2.给req对象-个data事件
//事件处理程序参数是当前这次传递过来的这一小块内容.
req. on('data',(chunk)=> {
postData += chunk;
})
//3.给req对象一个end事件.
//表示数据传递完毕了.
res.on('end',()=>{
//打印看看
console.log(postData);
//4.解析这个传递过来的参数数据。
let postObj = querystring.parse(postData)
console.log(postObj);
//5.
//那在这里就可以根据这个传递过来的账号和密码,去数据库中判断是否是正确的.
//如果正确的那在这里就可以告诉用户,账号密码正确.
res . end("'sb");
})
})
//3.开启服务器
server. listen(4399,()=>{
console.log( '服务器开启了...');
});