![](/img/trans.png)
[英]Node.js / Express.js can't get body response from API call via Request middleware
[英]Can't get body response with Node from RESTFUL API
我正在嘗試使用 Node.js 從 RESTFUL API 獲得正文響應,它是發送 GET 請求的“請求”庫。 這是代碼:
const request = require('request');
const url = 'https://myurl.com';
const headers = {
'x-functions-key': 'mysecretkey'
};
request.get(`${url}${headers}`, (err, response, body) =>{
if (err){
console.log(err)
}
console.log(body)
})
但是當我運行“node myfile”時,我沒有得到正文的響應,控制台返回是空白的。 我想我錯過了一些東西。 我已經用 Postman 測試了 URL 和密鑰,它工作正常,JSON 響應在那里出現。 觀察:我是 Node 新手,嘗試使用本教程: https://www.twilio.com/blog/2017/08/http-requests-in-node-js.ZFC35FDC70D5FC69D23EZ88 出於安全原因,“url”和“key”在這里被屏蔽。任何幫助對我來說都很好,我很感激。
問題是在request.get
行你有你的 URL 和標題模板
`${url}${headers}`
所以解決方案是創建一個像這樣的選項變量:
const options = {
url: 'https://myurl.com',
headers: {
'x-functions-key': 'mysecretkey'
}
};
然后將其傳遞給請求
request.get(options, (err, response, body) =>{
if (err){
console.log(err)
}
console.log(body)
})
希望這可以幫助
問題是您不能只將標題放在模板字符串中。 您需要使用選項 object 指定它們。
request.get({ url: url, headers: headers }, (err, response, body) => { ... });
或者,使用 ES6 簡寫:
request.get({ url, headers }, (err, response, body) => { ... });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.