我在使用变量(headersTest)向请求承诺(npm)请求添加标头时遇到问题。如果我对选项中的值进行硬编码,我会收到预期的API响应。如果我在变量中创建标头并将其添加到选项,则API会拒绝该请求(无法识别标头密钥)。当我记录headersTest变量时,它看起来与硬编码值相同,但不起作用。
以下是相关的代码部分:
const headersTest = "'x-custom-date':'Fri, 27 Oct 2017 09:45:18 EST'";
console.log(headersTest);
const options = {
method: "GET",
uri: 'http://' + whatEvz,
qs: {
queryString
},
headers: {
//'x-custom-date':'Fri, 27 Oct 2017 09:45:18 EST'
headersTest
},
json: true
};
rp(options)
.then(function(results){
res.send(results);
})
.catch(function (err) {
res.send("Shite! That didn't work! " + err.message);
});
似乎我在理解变量在选项中的解释方面缺少一些东西。任何指导都将非常感谢。
答案 0 :(得分:0)
我通过使用对象属性解决了这个问题,而不是尝试将对象传递给options.headers。我实际上有一个标头数组,并使用lodash添加标题,如下所示:
_.each(myHeaders, function (val, key) {
_.each(val, function (val, key) {
options.headers[key] = val;
});
})