@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 {}....
  • Вопрос задан
  • 699 просмотров
Решения вопроса 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. Но вот промиса добиться не удалось.
Ответ написан
Ваш ответ на вопрос

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

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