在服务工作者中解析json未定义

时间:2017-05-04 21:36:48

标签: javascript json service-worker

我试图在服务工作者中解析json,但我无法做到。

这是我尝试在推送通知中解析的数据:

{"data": {"url": "www.google.com", "text": "teste", "icon": "http://example.com/abc.gif", "title": "title"}}

这是我的代码:

self.addEventListener('push', function(event) {

  var payload = event.data.text();


  if ( payload.length > 0 ) {

        event.waitUntil(    
            fetch(payload, {
            method: 'get'
            })
            .then(function(response) { 
                console.log('response');
                console.log(response);
                return response.json(); 
            })
            .then(function(data) {
                console.log(data.text);
                console.log(data.title);
                self.registration.showNotification(data.title, {
                  body: data.text,
                  icon: data.icon
                });
            })
            .catch(function(err) {
            console.log('err');
            console.log(err);
            });

        );

  }

我将data.text和data.icon视为未定义。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用JSON.parse(payload)来解析有效负载