节点 - 获取URL并将其重新格式化为POST

时间:2014-01-25 23:49:52

标签: json node.js parsing

我正在尝试将我的节点服务器设置为接收编码的URL,如下所示:

http://www.domain.com/room=office&light=light2&state=on

然后将其作为POST发送,其工作负载格式为:

{room:'office', light:'light2', state: 'on'}

到目前为止,我已经解析了它以便正确格式化:

 var postrelay=S(pathname).replaceAll('/', '{').s;
 var postrelay=S(postrelay).replaceAll('=', ':\'').s;
 var postrelay=S(postrelay).replaceAll('&', '\',').s;
 var postrelay= (postrelay + '\'}')  ;  

http.post('http://www.postdomain.com/', postrelay);

有人可以告诉我需要改变什么来使这项工作?控制台日志显示我解析的json字符串有效,但它无效。

1 个答案:

答案 0 :(得分:0)

您需要在查询字符串的开头添加问号:

http://www.domain.com/?room=office&light=light2&state=on
                      ^

执行此操作后,只需使用url.parse解析网址并传入生成的对象:

> var parsed = url.parse('http://www.domain.com/?room=office&light=light2&state=on', true);
> parsed.query
{ room: 'office',
  light: 'light2',
  state: 'on' }