我是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
});