get与post请求

一、get请求url数据操作

1.获取请求的url

const http=require("http");
//点击html链接标签发送网络请求
const server=http.createServer((req,res)=>{
    //用req.url获取路径
    console.log(querystring.parse(req.url));
    res.end();
})
//用listen方法监听端口号
server.listen(8080);

2.将获取的url转变为对象再提取标题

const http=require("http");
//引入url模块,用url.parse(reqUrl)获取url对象,
//用url.parse(reqUrl,true).query.title获取url地址中的参数
const url=require("url");

const server=http.createServer((req,res)=>{
    const reqUrl=req.url;
    console.log(url.parse(reqUrl));
    console.log(url.parse(reqUrl,true).query.title);
    res.end();
})
server.listen(8080);

3.另一种写法:querystring将获取的url转变为对象再提取标题

//通过querystring模块解析url.parse(reqUrl).query
const http=require("http");
const url=require("url");
const querystring=require("querystring");
const server=http.createServer((req,res)=>{
    const reqUrl=req.url;
    const queryUrl=url.parse(reqUrl).query;
    console.log(querystring.parse(queryUrl));
    res.end();
})
server.listen(8080);

二、get请求表单数据操作

1.先在html中写一个表单

<form method="get" action='http://localhost:8080'>
    <input type="text" name="userName">
    <input type="password" name="userPwd">
    <input type="submit" value="sign in">
</form>

2.获取url中的表单数据

const http=require("http");
const url=require("url")
const server=http.createServer((req,res)=>{
    //用writeHead方法来写头部
    res.writeHead(200,{"Content-Type":"text/html;charset=utf8"})
    const reqUrl=req.url;
    const formVal= url.parse(reqUrl,true).query;
    //这里有个奇怪的bug,UserName属性一定要大写,不知缘由
    //原因是我一开始写的html是UserName属性,而我虽然后面改了,但用于调试的页面仍然是原来那个,也许是组件属性绑定了无法修改,需要重新打开页面才能修改属性名
    console.log("用户名:"+formVal.UserName+"密码:"+formVal.userPwd);
    //用res.end()在屏幕上输出
    res.end("用户名:"+formVal.UserName+"-->密码:"+formVal.userPwd);
})

server.listen(8080);

三、post请求表单数据操作

通过事件接收数据

const http=require("http");
const querystring=require("querystring");
const server=http.createServer((req,res)=>{
    let postVal="";
    // data事件接受数据,chunk参数代表每次发的数据
    req.on("data",(chunk)=>{
        postVal+=chunk;
    })
    //end事件:数据发送完成,此时可以输出结果
    req.on("end",()=>{
        console.log(querystring.parse(postVal));
        //不要忘记end方法
        res.end();
    })
})
server.listen(8080)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值