Javascript 在节点中解析post数据时遇到问题
这真让我烦透了。我有一个节点服务器,它接收post数据,对其进行解析,然后将其作为json字符串的一部分发送回。但出于某种原因,它不起作用 传入的post数据的格式为:Javascript 在节点中解析post数据时遇到问题,javascript,json,node.js,philips-hue,Javascript,Json,Node.js,Philips Hue,这真让我烦透了。我有一个节点服务器,它接收post数据,对其进行解析,然后将其作为json字符串的一部分发送回。但出于某种原因,它不起作用 传入的post数据的格式为:rgb=rgb(xxx%2Cxxx%2Cxxx) 我解析它并删除rgb和括号: var str = (querystring.parse(postData).rgb); var str=S(str).replaceAll('%2C', ',').s; var str=S(str).replaceAll('rgb(', '').s;
rgb=rgb(xxx%2Cxxx%2Cxxx)
我解析它并删除rgb和括号:
var str = (querystring.parse(postData).rgb);
var str=S(str).replaceAll('%2C', ',').s;
var str=S(str).replaceAll('rgb(', '').s;
var rgb=S(str).replaceAll(')', '').s;
剩下的就是:xxx,xxx,xxx
这正是我需要发送给这个json字符串的内容:
hue.light(Light1, function(light){
hue.change(light.set({'rgb':[rgb]}));
});
但它不起作用
这很管用,所以我知道我走对了方向:
hue.light(Light1, function(light){
hue.change(light.set({'rgb':[xxx,xxx,xxx]}));
});
是否需要对字符串进行某种类型的转换才能使其正常工作?
rgb
是一个包含逗号分隔值的字符串。您需要解析这些值并将它们放入数组中。试试这个:
rgb = rgb.split(',')
.map(function(str) { return parseInt(str, 10); });
令人惊叹的。非常感谢你!