javascript - 尝试使用 fetch 访问响应数据

标签 javascript node.js fetch-api

我正在尝试一些简单的事情,我像这样使用 fetch API 从我的应用程序的前端发出请求

let request = new Request('http://localhost:3000/add', {
    headers: new Headers({
        'Content-Type': 'text/json' 
    }),
    method: 'GET'
});

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

我是这样在服务器上处理这个请求的,

app.get('/add', (req, res) => {
    const data = {
        "number1": "2", 
        "number2": "4"
    };
    res.send(data);
});

但是,当我尝试在前端 console.log(response) 上访问我的数据时,我得到以下对象

Response {type: "basic", url: "http://localhost:3000/add", redirected: false, status: 200, ok: true…}
body:(...)
bodyUsed:false
headers:Headers
ok:true
redirected:false
status:200
statusText:"OK"
type:"basic"
url:"http://localhost:3000/add"
__proto__:Response

响应正文为空。我以为那是数据会出现的地方?如何有效地从服务器传递数据?

最佳答案

好的,这适用于我的前端

fetch(request).then((response) => {
    console.log(response);
    response.json().then((data) => {
        console.log(data);
    });
});

关键部分是 promise 链的解析。

这里有类似的问题 JavaScript fetch API - Why does response.json() return a promise object (instead of JSON)?

关于javascript - 尝试使用 fetch 访问响应数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45366789/

相关文章:

javascript - Chrome 和 IE8 对比其他

javascript - 使用 Plotly.js 和 Node.js 获取和绘制数据

node.js - 流文件而不临时保存

node.js - 如何在nodejs响应中发送 header

javascript - 使用 fetch 时拒绝 promise

javascript - 如何在 event.respondWith() 中回退到浏览器的默认获取处理?

javascript - 在 asp.net 中输入键作为 Tab 并将焦点移动到下一个控件

javascript - 在 AngularJS 表中使用 href 来循环唯一 ID

javascript - 访问 json 变量 (node.js)

javascript - 移动设备上的Java单击事件