如何将Fetch响应JSON中的Content-Length保存为可用变量?
可以保存响应中的Content-Length为变量
当然可以,只需要把响应解析成JSON对象,就能提取出Content-Length值并保存为后续可用的变量,具体修改如下:
修改后的代码示例:
// 定义全局或作用域内的变量,用于存储Content-Length,后续可在其他逻辑中调用 let contentLength; fetch('https://httpbin.org/post', { method: 'POST', headers: { 'Accept': 'application/json, text/plain, */*', 'Content-Type': 'application/json' }, body: JSON.stringify({a: 7, str: 'Some string: &=&'}) }) // 将响应解析为JSON对象(替换原代码的res.text(),方便直接操作属性) .then(res => res.json()) .then(res => { // 提取headers中的Content-Length并赋值给变量 contentLength = res.headers['Content-Length']; // 可选:如果需要数值类型,可进行转换 // contentLength = parseInt(res.headers['Content-Length'], 10); console.log('获取到的Content-Length:', contentLength); // 后续任意需要的地方都可以直接使用contentLength变量 });
关键说明:
- 原代码用
res.text()获取的是字符串格式响应,改成res.json()后会自动将响应转为JavaScript对象,无需手动解析JSON字符串。 - 响应里的
Content-Length是字符串类型,若后续需要进行数值计算,用parseInt()或Number()转换即可。
内容的提问来源于stack exchange,提问作者DaveDarell
相关产品推荐
相关产品推荐

