Node接受get和post传递过来的参数

tech2024-10-27  23

get方式 代码如下(get详情看注释)

/* 前端传参 get传参:拼接在url上面 http://127.0.0.1 :4399/ joke ?id-8&username=admin post传参:不是拼接在url上面 请求体中传递 */ //写一个服务器(后端接口) //1.导入模块 const http = require("http"); var url = require('url'); const { utimes } = require("fs"); //2.创建服务器 const server = http.createServer((req, res) => { var urls = req.url; console.log(req.url); //req是请求的对象,req. ur1能拿到请求的url中?以及?后面的内容 // ' /?id-&username=weige' ' /?id=8&username=%E6 //我们可以通过req.url拿到前端传递过来的参数 //但是要做字符串的处理. //第一个参数为要处理的数据,第二个参数,true启用对象的形式返回 //这个返回的对象里面有一个query属性,他也是一个对象,这个属性里面就有get传递过来的参数 var urlobj = url.parse(req.url, true) console.log(urlobj); //那就可以在这里根据这个接收到的id,去数据库中获取这个id的英雄的所有详细信息 //返回给调用这. //如果在这里拿到了id对应的英雄的详细信息了, 就可以返回, res.end(JSON.stringify(url0bj.query));//只能返回字符串 }) //4.开启服务器 server.listen(4399, () => { console.log('服务器开启了...'); });

Post方式 代码如下(注释写的详细)

/** 前端传参 get传参:拼接在url上面 http://127.0.0.1:4399/ joke?id-8&username-admin post传参:不是拼接在url上面 请求体中传递 */ //1.导入模块 const http = require("http"); var url = require('url'); var querystring = require('querystring');//这个模块是请求丶数据转换为字符串形式 const server = http.createServer((req, res) => { //req是请求对象 //因为这里是post的方式传递过来的参数,不是在ur1中的,所以用req.url是拿不到的 //console. log(req.ur1); // 他也是一小块- -小块的接收. // 1.首先你得要一个容器 let postData=''; // 2.给req对象一个data事件(这个事件 会执行很多次) //事件处理程序,参数是当前这次传递过来的一下快内容, req.on('data',(chunk,)=>{//意思为绑定一个data事件,这个为事件体 // 将数据累加到容器里,// 这个事件里面就把这些小块的数据拼接起来 postData+=chunk; }) // 当前面的参数接受完成那就是end事件 // 3.给req对象一个end事件(这个事件只会执行一 -次) req.on('end',()=>{ console.log(postData)//username=admin&&psssword=1234 //4利用解析这个传递过来的参数数据,形成一个对象 let postObj=querystring.parse(postData) console.log(postObj);//{username:'admin',password:'"1234"} }) // 表示数据传递完了 // 4.处理传递过来的数据 // queryString.parse0: }) //2.创建服务器 //3.开启服务器 server.listen(4399, () => { console.log('服务器开启了...'); });

HTTP协议-数据传输方式get post put push opt ions get和post传输方式的区别 get是地址栏传输数据 post是表单传输数据 get传输数据量小post 传输数据量大 get不安全post是相对安全 都不准确 没有经过加密 get传输文本数据post还可以传输二进制数据 浏览器这个工具仅仅是HTTP 协议的一个具体实现

最新回复(0)