2017-11-14 8 views
-1

ノードにはあまりよくありません。少し助けが必要です。ノード変換>クライアント>ノード> json>ノード>クライアント

ノードを「翻訳者」にしたいと考えています。どういう意味ですか?

私はこのようなものが見つかりました:私は、このサーバはJSONにリクエストを送信し、ブラウザでデータ表示を受信する必要があり、私のノードサーバにAJAX要求経由で送信したい How to forward a request to other endpoint in node.js

を。

どのように応答を受信して​​ブラウザに送信するように変更できますか?

var express = require('express'); 
var fs = require('fs'); 
var path = require('path'); 
var http = require('http'); 
var https = require('https'); 
var app = express(); 

var HTTP_PORT = 3000; 

// Create an HTTP service 
http.createServer(app).listen(HTTP_PORT,function() { 
    console.log('Listening HTTP on port ' + HTTP_PORT); 
}); 


//endpoint for tracking 
app.get('/track', function(req, res) { 

    sendRequestToOtherEndPoint(req); 

    processRequest(req); 
    res.setHeader('Content-Type', 'application/json'); 
    res.send('Req OK'); 
}); 

function processRequest(req){ 
    console.log("request processed"); 
} 

function sendRequestToOtherEndPoint(req){ 
    //magic here :) 
} 

私はそれに多くの時間を費やし、アイデアはありません。

私のAJAXリクエスト:

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#testbutton").click(function() { 
     $.ajax({ 
url: '', 
      dataType: 'json', 
      success: function(data) { 
       $("#results").append('works'); 
       alert(data); 
      }, 
      error: function() { 
       $("#results").append("error"); 
       alert('error'); 
      } 
     }); 
    }); 
}); 
</script> 

私の実際のサーバが起動時にのみ

request({ 
     url: , 
     method: "GET", 
     timeout: 10000, 
     followRedirect: true, 
     maxRedirects: 10 
    },function(error, response, body){ 
     if(!error && response.statusCode == 200){ 
      console.log('sucess!'); 
      console.log(response.body); 
     }else{ 
      console.log('error' + response.body); 
     } 

と聞く+いくつかの変数が含まれています。

答えて

-1

あなたが探している用語は「リバースプロキシ」です。これにはたくさんの方法がありますが、多くの可能性がありますが、reverse-proxyのような既存のモジュールを使用したくない場合は、requestモジュールをpipe the request and response streamsに使用します。このようなもの:

app.get('/proxy', (req, res) => { 
    request('http://example.com/').pipe(res); 
}); 
関連する問題