Угловая POST становится OPTIONS и не может изменить бэкенд для CORS

голоса
0

У меня есть запрос входа в систему я пытаюсь сделать. Мне нужно сделать запрос POST на сервер с некоторыми параметрами, такими как имя пользователя, пароль, ClientId, ЭСТ.

Угловой 6 Код:

let body = new URLSearchParams();
body.set('username', email);
body.set('password', password);
body.set('customerId', environment.customerId);
body.set('grant_type', 'password');

return this.http.post<JWT>(
    this.baseUrl + this.LOGIN_ENDPOINT,
    body.toString(),
    {
      headers: new HttpHeaders({
        'Content-Type': 'text/plain'
      })
    }
)

Когда я делаю запрос POST, он получает изменен OPTIONS и блоки браузера ответа, так как Access-Control-Allow-Origin заголовок не установлен. Тем не менее, в закладке сети Проверьте элемент, вызов на самом деле является правильным и возвращает 200 OK.

У меня нет доступа к изменению бэкенд, и компания-сервер не работает со мной на этом, потому что они могут сделать запрос с помощью Ajax.

Я попытался сделать такой же запрос, за исключением использования JQuery и Ajax, и он прекрасно работает, проблема, кажется, «сложный запрос» посланный угловыми 6.

Ajax код:

$.post(example.com, {
        grant_type: 'password',
        customerId: 'xxx',
        username: 'xxx',
        password: 'xxx'
    });

Ajax код работает, Угловой код запускает параметры / Предполетные запросы

Как я могу решить эту проблему?

Задан 20/10/2018 в 05:39
источник пользователем
На других языках...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more