Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript fetch调用中未定义标头_Javascript_Http_Fetch - Fatal编程技术网

Javascript 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

尝试对需要基本身份验证的API的URL进行提取调用。我发现了一个使用bases-64模块对URL头进行编码并将其放入fetch调用的方法。尝试了多种变体,但不起作用

    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()
或require
headers
分别与
const headers=require(“节点提取”).headers
const{headers}=require(“节点提取”)
使用
let headers=new fetch.headers()
或require
headers
分别与
const headers=require(“节点提取”)。headers
const{headers}=require(“节点提取”)