javascript - 我可以在尝试预加载 XHR 数据时添加自定义标题吗?

标签 javascript html xmlhttprequest fetch preload

我正在从 JS 代码中触发 XHR。这个渲染阻塞 XHR 在每次页面加载时触发,所以我想在页面生命周期的早期获取它,与 JS 和 CSS 资源并行。在我的index.html ,我将添加以下代码:

<head>
  <link rel="stylesheet" href="style.css">
  <link rel="preload" as="fetch" href="/xhr-to-be-fetched-early">
</head>
XHR 请求需要一些自定义 header ,例如 authorization & Accept .有什么方法可以将这些标题添加到 link标签,是在 HTML 本身内部还是通过 JS?还是无法缓存此类请求?

最佳答案

您不能真正将标题添加到 <link>标记,但您可以阻止页面加载任何内容,直到获取资源。
看到这样的东西:

const promiseOfSomeData = fetch("URL.com", { 
    // This is where you set the headers
    headers: {
        'X-My-Cool-Header': 'here'
    }
}).then(data => {
    return data;
});
window.onload = async () => {
    let someData = await promiseOfSomeJsonData;
    console.log(someData)
};
How can I make "onload" waiting for "fetch" complete?

关于javascript - 我可以在尝试预加载 XHR 数据时添加自定义标题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66649509/

相关文章:

javascript - Angular 1 将数据绑定(bind)到脚本模板

javascript - 在 Blogger 帖子中显示 Javascript 和 HTML 的结果

node.js - Node js 将 pdf 缓冲区转换回 pdf

ajax - Conceal/不可见的 Ajax 请求?

javascript - 尝试遵循 Javascript 中的数字数组排序步骤

javascript - 使用 *ngfor 的多个选择标签更改第一个选择标签值会影响其他选择标签

javascript - RemoveClass 不响应两部分形式

html - 无法编辑 css 使特定页面上的背景变黑

javascript - 运行脚本后 textarea 丢失信息

javascript - 获取 xmlHTTP 请求不起作用