Javascript fetch调用中未定义标头
尝试对需要基本身份验证的API的URL进行提取调用。我发现了一个使用bases-64模块对URL头进行编码并将其放入fetch调用的方法。尝试了多种变体,但不起作用Javascript fetch调用中未定义标头,javascript,http,fetch,Javascript,Http,Fetch,尝试对需要基本身份验证的API的URL进行提取调用。我发现了一个使用bases-64模块对URL头进行编码并将其放入fetch调用的方法。尝试了多种变体,但不起作用 const fetch = require("node-fetch"); const base64 = require("base-64"); let url = "<URL>"; let username = &quo
const fetch = require("node-fetch");
const base64 = require("base-64");
let url = "<URL>";
let username = "<username>";
let password = "<password>";
let headers = new Headers();
headers.set(
"Authorization",
"Basic " + base64.encode(username + ":" + password)
);
async function getCategories(url) {
fetch(url, {
method: "GET",
headers: headers,
})
.then((response) => {
return response.json;
})
.catch((err) => {
console.log(err);
});
}
getCategories(url)
.then((response) => console.log(response))
.catch((err) => console.log(err));
const fetch=require(“节点提取”);
const base64=需要(“base-64”);
让url=“”;
让用户名=”;
让密码=”;
let headers=新的headers();
headers.set(
“授权”,
“基本”+base64.编码(用户名+:“+密码)
);
异步函数getCategories(url){
获取(url{
方法:“获取”,
标题:标题,
})
。然后((响应)=>{
return response.json;
})
.catch((错误)=>{
控制台日志(err);
});
}
getCategories(url)
.然后((响应)=>console.log(响应))
.catch((err)=>console.log(err));
错误:
Headers is not defined
at Object.<anonymous> (C:\Users\User\Downloads\getCategories\getCategories.js:7:15)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Module.load (internal/modules/cjs/loader.js:985:32)
at Function.Module._load (internal/modules/cjs/loader.js:878:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
未定义标题
反对。(C:\Users\User\Downloads\getCategories\getCategories.js:7:15)
at模块编译(内部/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js(internal/modules/cjs/loader.js:1157:10)
在Module.load(内部/modules/cjs/loader.js:985:32)
at Function.Module._load(内部/modules/cjs/loader.js:878:14)
在Function.executeUserEntryPoint[作为runMain](internal/modules/run_main.js:71:12)
我做错了什么?node.js上下文中不存在
标题
构造函数。像fetch
一样,您需要从节点fetch
包中包含它。您可以使用解构赋值从fetch
函数获取它
const fetch = require('node-fetch');
const { Headers } = fetch;
或者直接使用该属性创建新实例
let headers = new fetch.Headers();
有关更多详细信息,请参阅。node.js上下文中不存在
标题
构造函数。像fetch
一样,您需要从节点fetch
包中包含它。您可以使用解构赋值从fetch
函数获取它
const fetch = require('node-fetch');
const { Headers } = fetch;
或者直接使用该属性创建新实例
let headers = new fetch.Headers();
有关更多详细信息,请参见。使用
let headers=new fetch.headers()
或requireheaders
分别与const headers=require(“节点提取”).headers
或const{headers}=require(“节点提取”)
使用let headers=new fetch.headers()
或requireheaders
分别与const headers=require(“节点提取”)。headers
或const{headers}=require(“节点提取”)代码>