我想从第一次获取中获取json数据,并希望将相同的响应数据传递给第二次获取。
这是我的代码。我是服务人员中的新手。
#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))
)
答案 0 :(得分:1)
您不会在记录第一个响应的呼叫中返回响应。
.then(response => console.log(response))
因此,您在undefined
期间为response
传递了JSON.stringify({data: response})
。您需要将其更新为类似于以下内容的
.then(response => {
console.log(response);
return response;
})