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

<?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

 

最後訪問咱們的node服務地址: http://localhost:888
輸出正常 ,ko,第一步踏出了,其餘還有神馬可怕的  哈哈哈哈json

 

相關文章
相關標籤/搜索