如何编码post请求中传递的表单数据

时间:2015-06-05 09:15:45

标签: node.js forms post request

我无法切换到AJAX,因为它是第三方服务器。我正在使用nodejs和请求库。工作(客户端机器测试)和非工作(节点js机器)请求之间的原始数据差异似乎是空间编码的方式。在客户端计算机上,在chrome检查器中,我将空格视为Your VM has become "inaccessible". Unfortunately, this is a critical error with VirtualBox that Vagrant can not cleanly recover from. Please open VirtualBox and clear out your inaccessible virtual machines or find a way to fix them. 符号。该请求有效。但是在nodejs终端中,我将空格视为+。如果我尝试自己添加%20,我会将其视为+

请求导致自动下载我要保存到服务器文件系统的csv文件。

%2B

1 个答案:

答案 0 :(得分:1)

通过离开request.post并使用更通用的request函数来解决它:

request({
   method: 'POST',
   uri: 'http://example.com/',
   headers: { 
     host: 'example.com',
     'content-type': 'application/x-www-form-urlencoded' },
     body: $.param(fd)}
).pipe(fs.createWriteStream('myfile.csv'))