Почему Chrome отправляет пустое тело при использовании fetch (), но Edge правильно отправляет тело - PullRequest
0 голосов
/ 12 апреля 2019

Я отправляю запрос методом fetch () на другой сервер, но тело запроса, отправленного с помощью Chrome, пусто.

Приложение, отправляющее запрос, является приложением Vue, а сервер использует AdonisJS. Я попробовал свое приложение в Microsoft Edge, и тело не было пустым.

Запрос в Vue:

const requestOptions = {
    method: 'POST',
    headers: {'Content-Type': 'application/plain'},
    body: JSON.stringify({username, password}),
};
let req = fetch('http://localhost:3333/user/login', requestOptions)
    .then(response => {
        return response.text();
    }).then(json => {
        this.$refs.debug.innerHTML = json
    })

Контроллер в AdonisJS:

async login({request, response}) {
    console.log("params", request.raw());
    return '{"key": "value"}';
}

1 Ответ

3 голосов
/ 12 апреля 2019

Изменение

    headers: {'Content-Type': 'application/plain'},

до

    headers: {'Content-Type': 'application/json'},
...