微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Fetch 从响应头中获取内容类型

如何解决如何使用 Fetch 从响应头中获取内容类型

我正在尝试访问从我的 content-type 请求返回的 GET 以便我可以决定我想要的预览类型 html 可能通过 iframe 和PDF也许是一些查看器。问题是当我执行 console.log(response.headers) 时,返回的对象中没有内容类型,但是当我检查网络选项卡时,响应标头具有内容类型:html/text。如何从响应头中获取内容类型? 这就是我的 GET 请求的样子

const getFile = async () => {
    var requestOptions = {
      method: "GET",headers: context.client_header,redirect: "follow",};
    let statusID = context.currentStatus.ApplicationID;
    var response = await fetch(
      process.env.REACT_APP_API_ENDPOINT +
        "/services/getStatus?ApplicationID=" +
        statusID,requestOptions
    );

    console.log(response.headers);

    if (response.ok) {
      let fileHtml = await response.text();
      setfileURL(fileHtml);
    } else {
      alert.show("Someting went wrong");
    }
  };

解决方法

Headers 对象不是 console.log() 的理想候选对象,因为它不容易序列化。

如果您想查看其中的所有内容,请尝试通过展开语法将其分解为条目

console.log(...response.headers)

您可能会发现实际上可以通过以下方式访问您想要的内容

response.headers.get("content-type")

Headers.get()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。