не работает fetch

282
24 августа 2017, 22:36
fetch('server.php')
.then(function(response) {
    console.log( response.json());
})

не пойму как работает этот фетч

Answer 1

Использование fetch
При вызове fetch возвращает промис, который, когда получен ответ, выполняет коллбэки с объектом Response или с ошибкой, если запрос не удался.

    fetch('/article/fetch/user.json')
  .then(function(response) {
    alert(response.headers.get('Content-Type')); // application/json; charset=utf-8
    alert(response.status); // 200
    return response.json();
  })
  .then(function(user) {
    alert(user.name); // iliakan
  })
  .catch(alert);

Объект response кроме доступа к заголовкам headers, статусу status и некоторым другим полям ответа, даёт возможность прочитать его тело, в желаемом формате.

Варианты описаны в спецификации Body, они включают в себя:

  • response.arrayBuffer()
  • response.blob()
  • response.formData()
  • response.json()
  • response.text()

Соответствующий вызов возвращает промис, который, когда ответ будет получен, вызовет коллбэк с результатом.
В примере выше в первом .then анализируем ответ и, если он нас устроит – вернуть промис с нужным форматом. Следующий .then уже будет содержать полный ответ сервера.

ка кто так

Answer 2

чуть чуть не правильно используешь, response.json() это обещание и надо обрабатывать по другому
вот немного поправил

fetch('server.php')
  .then(function(response) {
    return response.json();
  })
  .then(function(data) {
    console.log(data); // тут уже пишем нашу логику обработки
  })
  .catch(alert);
READ ALSO
PHP Warning: mysqli_connect(): (HY000/1698): Access denied for user 'root'@'localhost' in

PHP Warning: mysqli_connect(): (HY000/1698): Access denied for user 'root'@'localhost' in

Делаю сайт, не могу подключиться к базеКод

253
Как связать php скрипт с сайтом

Как связать php скрипт с сайтом

Доброго дня, уважаемые форумчане, такой вопросУ меня есть php программка , которая работает локально на моём ПК(поменял пару параметров и запустил...

354