Node.js后台数据处理相关方法

post 方式请求时前端参数的获取.接收到数据时触发data事件on();用来向指定的对象绑定事件data当接收到数据时执行的事件对应的回调方法会将接收到的数据片断返回end当数据接受完成时调用post请求,前端将数据分为若干个片段依次发送给服务器,因此服务器端在接收数据时也必须依次接受对应的片段,并将片断重新拼接成整块数据。
 
 var http=require('http');
  var url=require('url');//url模块是用来处理网址的模块
  var server=http.createServer(function (req,res) {
    res.writeHead(200,{"Content-type":"text/html;charset=utf-8","Access-Control-Allow-Origin":"*"});
    if(req.method == "GET"){
        //parse()是模块url中对网址进行解析的方法,该方法会将get类型的接口中的参数解析出来并与query组合成一个键值对存储在返回的解析对象中
        // parse(参数一,参数二)参数一是用来解析的网络字符串,参数二为布尔类型,true表解析的参数部分并被转换成一个对象并返回。

        var para=url.parse(req.url,true);
        var name=para.query.name;
        var pass=para.query.pass;
        //从服务器端传输数据到前端界面
        var user={name:name,pass:pass};
        //JSON.stringify将对象类型的数据转换成JSON类型的字符串
        res.write(JSON.stringify(user));
    }else {
        var para= "";   
        req.on("end",function () {
            console.log(para);
            var paras=para.split("&");
            var name=paras[0].split("=")[1];
            var pass=paras[1].split("=")[1];
            var user={name:name,pass:pass};
            res.write(JSON.stringify(user));
            console.log(user);
            console.log(pass);
            res.end();
        });
        req.on("data",function (data) {
            para +=data;
        });
    }
});
server.listen(8080);


附:前端发送数据页面代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>request</title>
    <!-- 新 Bootstrap 核心 CSS 文件 -->
    <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css">
</head>
<body>
用户名:<input type="text" id="name" class="form-control"><br>
密码:<input type="password" id="pass" class="form-control">
开始请求: <button id="btn" class="btn btn-info">请求</button>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">

    $("#btn").click(function(){
        var name=$("#name").val();
        var pass=$("#pass").val();
        $.ajax({
            type:"get",
            url:"http://localhost:8080",
            data:"name="+name+"&pass="+pass,
            success:function(res){
                var data=JSON.parse(res);
                alert("name="+data.name+"-------"+"password="+data.pass);
                //document.write("name="+data.name);
            }
        });
    });
</script>
</body>
</html>


若想了解req.body、req.params、req.body及中间键(req.param)请点击链接移步。


 
 


 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值