angular 8 Http POST с типом содержимого application/x-www-form-urlencoded

Кажется, немного странно задавать этот вопрос, но я не мог этого понять.

Я прошел через ссылки stackru на этом и в Google, и на самом деле пробовал многие вещи, но я не мог получить разрешение на это. Ниже приведены некоторые из них

Сообщение клиента HTTP Angular 6 - неверный запрос

Как заставить Angular2 выполнять POST с помощью x-www-form-urlencoded

ПРОБЛЕМА - ОПЦИИ запроса для api всегда 400(неверный запрос)

ИНФОРМАЦИЯ -

Ниже приведен код, который работает над другим проектом.

  const headers = new HttpHeaders({
    'Content-Type': 'application/x-www-form-urlencoded'
  });
  const body = new HttpParams()
    .set('grant_type', 'password')
    .set('username', stateData.username)
    .set('password', stateData.password)
    .set('client_id', 'XXXXX-5B3C-4A7D-WEW-23BWWWF9B7872'); //Letters are dummy here for security reasons

//URL preceded by https
return this.http.post('abc.com/authtoken', body , {headers: headers }).pipe(
  map(res => {
    return res;
  })
 );

Теперь, когда я пробую тот же код в другом проекте, он не передает запрос OPTIONS, выдает 400(неверный запрос).

мы можем предположить, что остальные вещи нужны для того, чтобы эта работа работала. Проблема в основном в фрагменте кода.

Самым удивительным является то, что когда я помещаю завершающую косую черту в URL-адрес, например - authtoken/, кажется, что он передает ОПЦИИ 200OK, но не выполняет исходный запрос POST как 404, что вполне понятно, поскольку authtoken / не существует.

как пройти мимо этого. Я немного не понимаю, что делать.

Как уже было сказано, я перепробовал многие вещи, чтобы заставить его работать. Пожалуйста, предложите

Мы используем Angular 8.2.13

Спасибо

1 ответ

   const headers = new HttpHeaders().set(
     'Content-Type',
    'application/x-www-form-urlencoded;'
   );

   body = 'grant_type=' + password + '&username=' + setData.username + '&password=' + 
   setData.password + '&Client_Id=' + 'XXXXX-5B3C-4A7D-WEW-23BWWWF9B7872';

   return this.http.post('abc.com/authtoken', body , {headers: headers })
Другие вопросы по тегам