我想将获取响应传递给另一个获取的服务人员

时间:2019-08-09 20:32:32

标签: json service-worker

我想从第一次获取中获取json数据,并希望将相同的响应数据传递给第二次获取。

这是我的代码。我是服务人员中的新手。

service_worker.js

#service_worker.js

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

var url = 'http://127.0.0.1/1/json.json';
var data = {username: 'example'};

fetch(url, {
  method: 'GET', // or 'PUT'
  //body: JSON.stringify(data), // data can be `string` or {object}!
  headers:{
    'Content-Type': 'application/json'
  }
}).then(res => res.json())
.then(response => console.log(response))
.catch(error => console.error('Error:', error))
.then(response => fetch('http://127.0.0.1/1/1.php', {
  method: 'POST', // or 'PUT'
  body: JSON.stringify({data: response}), // data can be `string` or {object}!
  headers:{
    'Content-Type': 'application/json'
  }
}).then(res => res.text())
//.then(response => console.log(JSON.stringify(response)))
//.catch(error => console.error('Error:', error))
.then(response => console.log(response))
)

1 个答案:

答案 0 :(得分:1)

您不会在记录第一个响应的呼叫中返回响应。

.then(response => console.log(response))

因此,您在undefined期间为response传递了JSON.stringify({data: response})。您需要将其更新为类似于以下内容的

.then(response => {
    console.log(response);
    return response;
})