• node 发送 post 请求 get请求。


    因为我们部门打算用node请求restful 然后慢慢替换掉服务端,以后直接请求soa的接口,让前端的数据更贴切项目,因为我们服务端接口和app公用一套,由于业务的需求和版本不统一(例如app6.4的接口,H5可能只用到6.0)经常变动啥啥啥啥,所以我们前端常常还要经过1层dataformat(旧的业务代码改动代价太大),反正如果能实行,可行的话  将让前端带来更薄、更舒适的体验(就差夜用更长了  哈哈)。

    今天别人说想用C#封装api,再调用V8解析我们写的js代码  而达到我们一般前端人员也能写处理接口的代码;我一听就建议他能用node最好用node ,没必要用C#封一层,性能谁好谁坏没有测过先不说,但是有一点很致命的是,我们组的前端就他一个比较精通C#的代码,如果他走了,接下来的摊子谁维护?  我表达了我的观点,但他一面不采纳,抛下一句:你用node能搭建出和我C#一样的稳定代码,你可以用node。    我听后不爽,我决定接下来的时间,我要研究node。今天第一步,写个笔记。

    好不扯淡
    说到要请求post,get,那是不是应该要有一个服务接口,那我就先搭建一个php服务,获取get和post数据,为了简单展示,直接输出获取到的数据。

    <?php
    
        $name = $_GET['name'];
        $age =  $_POST['age'];
        $db =  $_POST['db'];
    
        $response_obj->name =  $name;
        $response_obj->age = $age;
        $response_obj->sb = $db;
    
    
        echo json_encode($response_obj);
    ?>

    好咱们php服务写好了,第二步就是用node去调用我们写好的php接口了

    var http = require('http');
    
    //创建一个http服务
    http.createServer(
    
        function(request, //客户端发来的请求,node.js 帮我们封装成 request 对象
                 response //我们利用response,向客户端发送回答
        ){
            //在控制台显示request对象
    
            var querystring = require('querystring');
            var data=querystring.stringify({age:22, db: 'bbbbb'});
    
            var http = require('http');
            var opt = {
                method: "POST",
                host: "127.0.0.1",
                port: 80,
                path: "/demo/test.php?name=xmzzaaaa",
                headers: {
                    "Content-Type":"application/x-www-form-urlencoded",
                    "Content-Length": data.length
                }
            };
            //发送一个请求
            var req = http.request(opt, function (serverFeedback) {
                //console.log(serverFeedback.statusCode);
                serverFeedback.on('data', function (chunk) {
                    //response.end('BODY: ' + chunk);
                    response.end('response ' +  chunk);
                    //console.log('response ', chunk);
                }).on('end', function (chunk) {
    
                    console.log('end');
                });
                return;
            }).on('error', function(e) {
                console.log("Got error: " + e.message);
            });
            console.log('ccc'+data);
            req.end();
    
        }).listen(888);
    
    console.log('Server start at 888');

    然后再运行我们的node脚本  : node request2.js

    最后访问我们的node服务地址: http://localhost:888
    输出正常 ,ko,第一步踏出了,其他还有神马可怕的  哈哈哈哈

  • 相关阅读:
    MongoDB用户及数据库管理命令
    Windows 10 Enterprise 2016 LTSB / 2019 LTSC下载与激活
    mongodb 3.6 集群搭建:分片+副本集
    nginx设置目录浏览及解决中文乱码问题
    如何取消Paypal自动付款功能
    Linux硬盘性能测试工具
    用expect实现SCP/SSH自动输入密码登录
    Redmine简易安装与系统优化
    MySQL数据目录(data)迁移
    忘掉Ghost!利用Win10自带功能,玩转系统备份&恢复 -- 系统重置
  • 原文地址:https://www.cnblogs.com/skyweaver/p/4443170.html
Copyright © 2020-2023  润新知