В Nodejs (v7.4) я создаю строку запроса из объекта JSON, чтобы я мог изменить имена, отправленные с помощью запроса. Когда я использую request_options var, запрос просто истекает. Когда я передаю код request_options var прямо, он работает.JSON Object для строки запроса для запроса 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
Просто следуйте шаблону для доступа к конкретному БД. Код работает, если я вставляю параметры в виде строки. Причина, по которой я не могу установить vars в запросе, ожидает строку. – JnL