Я делаю POST в node.js.Оттуда мне нужно получить доступ к заголовку токена аутентификации, чтобы сделать еще один POST с этим токеном аутентификации в качестве значения заголовка.
У меня проблемы с получением токена аутентификации из возвращенного объекта.
var request = require('request-promise');
var uri = 'https://myurl/rest/login';
var _include_headers = function(body, response, resolveWithFullResponse) {
return {'headers': response.headers, 'data': body};
};
var options = {
method: 'POST',
uri: uri,
json: true,
transform: _include_headers,
body: { "username":"user", "password":"password"
},
}
request(options)
.then(function (parsedBody) {
console.log("post success");
})
.catch(function (err) {
console.log("post failed");
});
return request(options)
.then(function(response) {
// console.log(response.headers);
console.log(response.headers);
//var result = JSON.stringify(response.headers);
// var result = JSON.stringify(response.headers);
console.log(response.headers);
// console.log(response.data);
});
Вывод, который я получаю, ниже.Я попытался превратить его в строку и получить доступ к response.headers [0] .authentication-token, но он возвращает с ошибками undefined для пар ключей следующим образом.
Unhandled rejection TypeError: Cannot read property 'date' of undefined
at C:\Users\n0200675\testing\logintest.js:32:35
at tryCatcher (C:\Users\n0200675\testing\node_modules\bluebird\js\release\ut
il.js:16:23)
at Promise._settlePromiseFromHandler (C:\Users\n0200675\testing\node_modules
\bluebird\js\release\promise.js:512:31)
at Promise._settlePromise (C:\Users\n0200675\testing\node_modules\bluebird\j
s\release\promise.js:569:18)
at Promise._settlePromise0 (C:\Users\n0200675\testing\node_modules\bluebird\
js\release\promise.js:614:10)
at Promise._settlePromises (C:\Users\n0200675\testing\node_modules\bluebird\
js\release\promise.js:694:18)
at _drainQueueStep (C:\Users\n0200675\testing\node_modules\bluebird\js\relea
se\async.js:138:12)
at _drainQueue (C:\Users\n0200675\testing\node_modules\bluebird\js\release\a
sync.js:131:9)
at Async._drainQueues (C:\Users\n0200675\testing\node_modules\bluebird\js\re
lease\async.js:147:5)
at Immediate.Async.drainQueues (C:\Users\n0200675\testing\node_modules\blueb
ird\js\release\async.js:17:14)
at runCallback (timers.js:789:20)
at tryOnImmediate (timers.js:751:5)
at processImmediate [as _immediateCallback] (timers.js:722:5)