У меня есть этот код на клиенте:

return fetch('http://localhost:8080/api/authenticate', {
    method: 'POST',
    mode: 'no-cors',
    headers: {
        'Content-Type': 'application/json',
    },
    body: JSON.stringify({
        username: 'admin',
        password: 'admin',
    }),
});

Когда я отправляю этот запрос, по какой-то причине Content-Type заменяется на text/plain;charset=UTF-8. Это приводит к тому, что моя серверная сторона не выполняет запрос, поскольку она принимает только запросы application/json. Что я здесь делаю не так? Я использую Chrome 51, и вот мой запрос:

enter image description here

РЕДАКТИРОВАТЬ: Когда я удаляю JSON.strigify(), Content-Type и Request также опускаются. Вот пример:

Result without JSON.stringify()

0
Nick 27 Июн 2016 в 21:17
 – 
Will
27 Июн 2016 в 21:19

1 ответ

Лучший ответ

Вы установили mode: 'no-cors',, поэтому вы не можете установить 'Content-Type' на 'application/json'. Это не одно из безопасных значений Content-Type.

5
Quentin 28 Июн 2016 в 00:46