1

以下のデータは、URL から配列の形式で取得されます。

[{"title":"hey hi","body":"hello","url":"https://simple-push-demo.appspot.com/","tag":"new"}]

service-worker.js fetch() に上記の URL があります

 'use strict';

console.log('Started', self);
self.addEventListener('install', function(event) {
  self.skipWaiting();
  console.log('Installed new', event);
});
self.addEventListener('activate', function(event) {
  console.log('Activatednew', event);
});

self.addEventListener('push', function(event) {
    try{
  console.log('Push message', event);
  var ev = event;

  //sample
  return fetch("http://localhost/push-notifications-master/app/json.php").then(function(ev,response) {
    response = JSON.parse(JSON.stringify(response));
    return response;
}).then(function(ev,j) {
    // Yay, `j` is a JavaScript object
    console.log("j", j);
 for(var i in j) {
    var _title = j[i].title;
    var _body = j[i].body;
    var _tag = j[i].tag;
     console.log("_body", _body);
    }
    ev.waitUntil(
        self.registration.showNotification("push title", {
      body: _body,
      icon: 'images/icon.png',
      tag: _tag
    }));    
});

return Promise.all(response);

    }
    catch(e){console.log("e", e)}
});

上記の配列データが の特定の URL から来ていることを確認しようとしていますconsole.log("j",j);。しかし、未定義と表示されます。sw.jsで動的データを取得するにはどうすればよいですかガイドしてください。

4

1 に答える 1