Пустой ответ при fetch JS

Не могу понять в чем проблема. Изначально запрос отправлялся через $.ajax (jQuery). Теперь нужно переписать всё на JS. Просмотрел по заголовкам и отправляемым данным - всё идентично. Через дебагинг сервера удостоверился что сервер возвращает корректный ответ, но fetch его просто не видит, и возвращает SyntaxError: Unexpected end of input.

Ниже привожу код:

// Пример отправки POST запроса:
async function postData(url = '', data = {}) {
// Default options are marked with *
const response = await fetch(url, {
    method: 'POST', // *GET, POST, PUT, DELETE, etc.
    mode: 'no-cors', // no-cors, *cors, same-origin
    cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
    credentials: 'same-origin', // include, *same-origin, omit
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        //"Accept": "application/json, text/javascript, */*; q=0.01",
    },
    redirect: 'follow', // manual, *follow, error
    referrerPolicy: 'no-referrer', // no-referrer, *client
    body: JSON_to_URLEncoded(data) // body data type must match "Content-Type" header
});
return await response.json(); // parses JSON response into native JavaScript objects
}

//Отправка запроса
postData('{url}', {...})
        .then((data) => {
            console.log(data); // JSON data parsed by `response.json()` call
        }).catch(error => {
            // Handle error
            console.error("Ошибка HTTP: " + error); //Вот тут ошибка SyntaxError: Unexpected end of input
        });

Изначально думал что пустой ответ потому что сервер возвращает не JSON формат. Но нет, всё должно работать. По крайней мере через jQuery работает. Подскажите в чем проблема


Ответы (1 шт):

Автор решения: Rebellion

Проблема решилась путем изменения параметра mode на cors, вместо no-cors.

→ Ссылка