0
在Nodejs(v7.4)中,我从JSON对象创建查询字符串,以便可以更改通过请求发送的名称。当我使用request_options var时,查询就超时了。当我直接传递request_options var代码时,它可以工作。JSON对象查询API请求字符串
这段代码有错吗?
var request = require('request');
var FirstName = "John";
var LastName = "Wick";
var request_options = {"url":"https://api.example.com",
"method":"POST",
"headers":"{Content-Type:application/json}",
"body":{"firstname":FirstName, "lastname": LastName}
};
var request_OptStr = objectToQueryString(request_options)
console.log(request_OptStr);
request(request_OptStr, function(err, response, body){
if(!err && response.statusCode < 400){
//do something......
} else {
if(response){
console.log('ERROR');
console.log(response.statusCode);
}
}
});
objectToQueryString函数可以找到here。 request_OptStr的输出为url=https%3A%2F%2Fapi.example.com&method=POST&headers=%7BContent-Type%3Aapplication%2Fjson%7D&body%5Bfirstname%5D=John&body%5Blastname%5D=Wick
我不清楚为什么你认为你需要在查询字符串,而不是在一个POST请求的主体的选项。你可以扩展吗? (无论哪种方式,您都可以使用变量来设置请求中的值,所以...) – nnnnnn
只需遵循模板即可访问特定的数据库。如果我将选项作为字符串插入,代码将起作用。我无法在请求中设置变量的原因是它期望一个字符串。 – JnL