fetch возвращает неопределенную ошибку в веб-уведомлении Push - PullRequest
0 голосов
/ 18 января 2019

Я сейчас изучаю веб-уведомления и наткнулся на это руководство . В настоящее время все хорошо, но у меня, похоже, есть ошибка в fetch(), поскольку она возвращает неопределенную ошибку ответа.

function sendSubscriptionToBackEnd(subscription) {
  return fetch('send_notification.php', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(subscription)
  }).then(function(response) {
    console.log(response);
    if (!response.ok) {
      throw new Error('Bad Status code from server');
    }
    return response.json();
  }).then(function(responseData) {
    if (!(responseData.data && responseData.data.success)) {
      throw new Error('Bad response from server.');
    }
  });
}

send_notification.php

<?php
  echo json_encode(array("response"=>"ok"));
?>

Вот как это выглядит при прохождении:

send_notification

enter image description here

Я не знаю, почему я не получаю ответ от моего send_notification. Это весь мой файл: https://www.mediafire.com/file/nbxe6ks3sjntjj0/push_notification2.zip/file

--------- EDIT ----------- и вот что я имел в виду под неопределенным ответом.

enter image description here

Ответы [ 2 ]

0 голосов
/ 20 января 2019

Я попробовал ваш код, и он работает без проблем. console.log(response) возвращает 200 ОК.

0 голосов
/ 18 января 2019

Объект response не имеет свойства ok. ok - это строковое значение свойства response, поэтому ваша логика должна быть:

if (response.response != 'ok') {
  // your logic...
}

У вас будет такая же проблема с response.json(), однако я не могу логично предположить, что вы ожидаете, что будет получен результат на изображениях, которые вы показали.

...