3

私は Node.js を初めて使用し、特定のルート/URL の単純なプロキシを作成する方法を理解するのに苦労しています。

node.js (高速) サーバーでプロキシを使用して、フロントエンドの JavaScript ロギング フレームワークのクロスドメインの問題を回避しようとしています。モジュールを使用してnode-http-proxyいますが、request.body が常に JSON であるという問題に遭遇しました。JSON ではなく、URL エンコードされたデータをログ サーバーのエンドポイントに送信する必要があります。そのため、URL エンコードされたデータをリクエストの本文としてプロキシに送信しても、プロキシは JSON データをリクエストの本文としてロギング サーバーに送信します。

プロキシで本文を URL エンコードされた文字列に変換しようとしましたが、さらに奇妙なことに、本文の先頭に引用符が付加されます。単一の二重引用符。

助けてくれてありがとう。これが私のルートです:

this.match('/proxy/logging', function(req, res, next){
    req.url = build.logging_url.path;
    req.body = require('querystring').stringify(req.body);
    req.headers['content-length'] = req.body.length;
    proxy.proxyRequest(req, res, {
      host: build.logging_url.host
      , port: build.logging_url.port
    });
}, { via: 'POST' });

jqueryでの私のajax呼び出しは次のとおりです。

$.ajax({
    type: 'POST',
    url: POSTURL,
    data: {foobar : "foobar"},
    success: on_post_success,
    error: on_post_error
});
4

0 に答える 0