如何使用 fetch API 的响应主体将一些数据从服务器发送回浏览器
How to send-back some data from server to browser with fetch API's response body
onclick
按钮的 HTML5 函数实现如下,使用 fetch
API 将一些数据发送到服务器。但我希望能够从服务器的响应主体接收数据。我该怎么做:
function deleteUser(){
let confirmation=confirm('Are you sure?')
if(confirmation){
const req=new Request('/users/delete',{
method:'DELETE',
body:JSON.stringify({
email:this.getAttribute('data-email'),
mySay:'Looks like fetch is awesome'
}),
headers:new Headers({
'Content-Type':'application/json'
})
})
fetch(req).then(res=>{
//How can I receive data by server's response body?
console.log(res.body)
return res.json()
}).then(data=>{
console.log(data)
})
}else{
return false
}
}
在服务器端代码,即 NodeJS 和 ExpressJS,我有以下代码:
server.delete('/users/delete',(req,res)=>{
console.log(req.body)
//Server logs browser request body correctly:
//{ email: 'bob@smith.io', mySay: 'Looks like fetch is awesome' }
//How can I send back response body from server to browser?
//The following method is NOT working:
return new Promise((resolve,reject)=>{
res.body=JSON.stringify({
msg:'I recieved your request'
})
resolve(res)
})
})
发送响应使用res.json():
res.json({
key: value,
key2: value2
})
onclick
按钮的 HTML5 函数实现如下,使用 fetch
API 将一些数据发送到服务器。但我希望能够从服务器的响应主体接收数据。我该怎么做:
function deleteUser(){
let confirmation=confirm('Are you sure?')
if(confirmation){
const req=new Request('/users/delete',{
method:'DELETE',
body:JSON.stringify({
email:this.getAttribute('data-email'),
mySay:'Looks like fetch is awesome'
}),
headers:new Headers({
'Content-Type':'application/json'
})
})
fetch(req).then(res=>{
//How can I receive data by server's response body?
console.log(res.body)
return res.json()
}).then(data=>{
console.log(data)
})
}else{
return false
}
}
在服务器端代码,即 NodeJS 和 ExpressJS,我有以下代码:
server.delete('/users/delete',(req,res)=>{
console.log(req.body)
//Server logs browser request body correctly:
//{ email: 'bob@smith.io', mySay: 'Looks like fetch is awesome' }
//How can I send back response body from server to browser?
//The following method is NOT working:
return new Promise((resolve,reject)=>{
res.body=JSON.stringify({
msg:'I recieved your request'
})
resolve(res)
})
})
发送响应使用res.json():
res.json({
key: value,
key2: value2
})