ошибка с заголовком авторизации угловой http

#angular #typescript #https #xmlhttprequest #http-headers

Вопрос:

у меня есть серверная часть в узле js expree и sequelize, я пытаюсь получить все мои типы продуктов, когда я сделал запрос с почтальоном на мой сервер, это ответ:

http-запрос почтальона и заголовок

но когда я делаю ту же петицию на своем интерфейсе, я получаю ошибку

 header Authorization is missing  

это мой http-запрос на угловые сервисы

 getTypes(token:any):Observablelt;anygt;{  let headers = new HttpHeaders().set('Content-Type', 'application/json')  .set('Authorization', token);  console.log(headers)  return this._http.post(this.url   'productType/getall', {headers:headers});    } 

это заголовок, который идет на мой сервер почтальона

 {  authorization: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InN1YiI6MSwibmFtZSI6ImFkbWluIiwic3VybmFtZSI6ImFkbWluIiwicm9sZSI6InVzZXJfYWRtaW4iLCJpYXQiOjE2MzU2ODA3ODZ9LCJpYXQiOjE2MzU2ODA3ODYsImV4cCI6MTYzNTc2NzE4Nn0.9e-sP6ZnUeYe0EEpuLyQmxvIu7-U1_oXLZlt76XbBs0',  'user-agent': 'PostmanRuntime/7.28.3',  accept: '*/*',  'cache-control': 'no-cache',  'postman-token': 'b97c28a2-f88e-4953-93d5-199fd1443d77',  host: 'localhost:3002',  'accept-encoding': 'gzip, deflate, br',  connection: 'keep-alive',  'content-length': '0' } 

и это из моего углового интерфейса

 {   host: 'localhost:3002',   connection: 'keep-alive',   'content-length': '476',   'sec-ch-ua': '"Google Chrome";v="95", "Chromium";v="95", ";Not A Brand";v="99"',   accept: 'application/json, text/plain, */*',   'content-type': 'application/json',   'sec-ch-ua-mobile': '?1',   'user-agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95 .0.4638.54 Mobile Safari/537.36',   'sec-ch-ua-platform': '"Android"',   origin: 'http://localhost:4200',   'sec-fetch-site': 'same-site',   'sec-fetch-mode': 'cors',   'sec-fetch-dest': 'empty',   referer: 'http://localhost:4200/',   'accept-encoding': 'gzip, deflate, br',   'accept-language': 'es-ES,es;q=0.9,en;q=0.8'  }   

я не знаю, почему не отправляется авторизация с помощью токена , токен не является нулевым

угловой консол с маркером и ошибкой

Ответ №1:

Ваши post параметры HttpClient расположены не в правильном порядке..

 post(url: string, body: any, options: { headers?: HttpHeaders....  

2-й параметр-это тело post , 3-й-параметры с заголовками

Или, может быть, вам следует использовать get — в этом случае вы бы сохранили свои параметры как есть