获取获取响应数据

时间:2019-04-01 17:32:46

标签: javascript fetch

我正在使用chrome devTools镜像webRequest。查看网络请求,响应中有一些我想访问的JSON数据

右键单击->复制为抓取->

fetch(
    "https://www.url.com/service.svc?action=FindConversation&ID=-40&AC=1",
    {
        "credentials":"include",
        "headers":{
            "accept":"*/*",
            "accept-language":"en-US,en;q=0.9",
            "action":"FindConversation",
            "content-type":"application/json; charset=UTF-8",
            "actionid":"-40",
            "unique_identifier":"062lCufCY0i5mI9NMTRUsF87XDq9ttYIonzZQjBcCOPvzoIJFOTSI6ZVNK9lMwy_iPFY2tuZzPY."
            "x-requested-with":"XMLHttpRequest"
        },
        "referrer":"https://ballard.amazon.com/OWA/",
        "referrerPolicy":"no-referrer-when-downgrade",
        "body":"contains some body data I want to manipulate",
        "method":"POST",
        "mode":"cors"
    }
).then(res => {console.log(res)})

这将打印出如下内容:

Response {type: "basic", url: "https://url/service.svc?action=FindConversation&ID=-40&AC=1", redirected: false, status: 200, ok: true, …}
body: ReadableStream
locked: false
__proto__: ReadableStream
bodyUsed: false
headers: Headers {}
ok: true
redirected: false
status: 200
statusText: "OK"
type: "basic"
url: "https://url/OWA/service.svc?action=FindConversation&ID=-40&AC=1"
__proto__: Response

当我检查刚刚发出的网络请求时,看起来它没有返回任何JSON数据,而是以200代码进行响应。那是正常的吗?

我希望它返回JSON数据或失败。

此外,JSON响应数据在res中的什么位置?

1 个答案:

答案 0 :(得分:1)

这是正常现象。 fetch()返回一个stream对象,而不仅仅是正文。

使用res.json()提取JSON内容。 对于非JSON响应,请使用res.text()