Выведите текст страницы, если получен статус 200, и ошибку, если получен статус 404?

let div = document.querySelector('div');
let btn = document.querySelector('#btn');

btn.addEventListener('click', function() {
    fetch('/ajax.html').then(response => {
        console.log(response.status); // например, 200
    });
});

Выведите текст страницы, если получен статус 200, и ошибку, если получен статус 404. Как это можносделать при данном коде?


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

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

Я с запозданием, но вот такой вариант тоже рабочий

button.addEventListener("click", function() {
  fetch("/ajax.html")
    .then((response) => {
      if (response.status == 200) {
        return response.text();
      } else if (response.status == 404) {
        throw new Error("Not found");
      }
    })
    .then(
      (text) => {
        div.innerHTML = text;
      },
      (error) => {
        div.innerHTML = error.message;
      }
    );
});

→ Ссылка