nodejs 发送post 请求时,如果传入动态值

问题遇到的现象和发生背景

我现在写了一个post 请求发送给指定的url, 但是我里面的post_data需要是动态的值,而不是hardcode

用代码块功能插入代码,请勿粘贴截图

var http = require('http');
var querystring = require('querystring');
var post_data = querystring.stringify({
'product': 'product123',
'sign': 'tttttttttttttt',
'productData':{
"Name":"P99",
"Category":"mobile",
"Number": 36
},
'uids': ['123@163.com', 'ffqwf@www.com'],
'msg': 'wwww'
});
console.log(typeof post_data);
var options = {
host: 'localhost',
port: 3003,
path: '/sig/user/testNodePost',
method: 'POST',
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36',
'Content-Type': 'application/x-www-form-urlencoded',// 不写这个参数,后台会接收不到数据
'Content-Length': post_data.length
}
};

var req = http.request(options, function (res) {
console.log('STATUS:' + res.statusCode);
console.log('HEADERS:' + JSON.stringify(res.headers));
res.setEncoding('utf-8');
res.on('data', function (body) {
console.log('BODY:' + body);
});
res.on('end', function () {
//请求结束
console.log('end');
});
res.on('err', function (e) {
console.log('err' + e.message);
});

});

//post方法里

req.write(post_data, 'utf-8');
req.end();

运行结果及报错内容
我的解答思路和尝试过的方法

这里的值怎么变成动态传过来的?
var post_data = querystring.stringify({
'product': 'product123',
'sign': 'tttttttttttttt',
'productData':{
"Name":"P99",
"Category":"mobile",
"Number": 36
},
'uids': ['123@163.com', 'ffqwf@www.com'],
'msg': 'wwww'
});

我想要达到的结果