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,第一步踏出了,其他还有神马可怕的  哈哈哈哈

原文地址:https://www.cnblogs.com/skyweaver/p/4443170.html