Задать вопрос
@KambulovDanil

Почему не приходит ответ json от сервера через функцию fetch?

Добрый день, пытаюсь отправить запрос, который возращает json. Запрос вроде как уходит, но ответа нет. Где я допустил ошибку?

fetch("https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=en&hl=ru&dt=t&dt=bd&dj=1&source=icon&tk=467103.467103&q=привет", {
    method: "POST",
   
    mode:"no-cors"
}).then(function(response) {
    // Стоит проверить код ответа.
    if (!response.ok) {
        // Сервер вернул код ответа за границами диапазона [200, 299]
        return Promise.reject(new Error(
            'Response failed: ' + response.status + ' (' + response.statusText + ')'
        ));
    }

    // Далее будем использовать только JSON из тела ответа.
    return response.json();
}).then(function(data) {
console.log(data)
    
       let slovo = data.sentences[0].trans;
console.log(slovo)
}).catch(function(error) {
    // ... Обрабатываем ошибки.
});


должно выводится в консоль Hello. Но выводит Promise {}....
  • Вопрос задан
  • 751 просмотр
Подписаться 1 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
zkrvndm
@zkrvndm
Архитектор решений
Не понятно, почему вы пытайтесь отправить POST-запрос, когда внешний вид вашей ссылки кричит о том, что это GET.

В общем, правильно будет так, выполните в консоли:
(await (await fetch('https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=en&hl=ru&dt=t&dt=bd&dj=1&source=icon&tk=467103.467103&q=привет')).json()).sentences[0].trans;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AstraVlad
Финансист, консультант, программист-любитель
Очень странно. Если не указывать init, то все работает:
5f95e30fecea7375678603.png

Если указывать, выдает Response failed, что, наверное, логично ибо POST вместо GET. Но вот промиса добиться не удалось.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы