node.js node-http-proxy,具有url编码数据的代理

时间:2013-01-24 21:53:43

标签: node.js node-http-proxy

我是Node.js的新手,并且正在努力了解如何为给定的路径/网址创建一个简单的代理。

我正在尝试通过使用我的node.js(带快速)服务器的代理来避免前端javascript日志框架的跨域问题。我正在使用node-http-proxy模块,但我遇到了一个问题,其中request.body始终是JSON。我需要将url编码的数据而不是JSON发送到日志服务器端点。因此,即使我将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' });

和我的ajax调用,在jquery中是:

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

0 个答案:

没有答案