Javascript 在Firefox中获取失败/被阻止

Javascript 在Firefox中获取失败/被阻止,javascript,firefox,Javascript,Firefox,我创建了这个页面,我不明白为什么在firefox(v80.0.1,没有插件)中提交表单时获取请求失败。它在Chrome、Safari和Edge中运行良好,并将formData发布到formbackend。让我惊讶的是,在firefox中,除了用户被重定向到“/fehler/”之外,没有任何东西被记录到控制台。所以我现在真的不知道如何调试这个。我尝试了不同的请求头,但到目前为止没有任何效果。下面是github repo:您可以在下面找到稍微简化的代码 var requestOptions = {

我创建了这个页面,我不明白为什么在firefox(v80.0.1,没有插件)中提交表单时获取请求失败。它在Chrome、Safari和Edge中运行良好,并将formData发布到formbackend。让我惊讶的是,在firefox中,除了用户被重定向到“/fehler/”之外,没有任何东西被记录到控制台。所以我现在真的不知道如何调试这个。我尝试了不同的请求头,但到目前为止没有任何效果。下面是github repo:您可以在下面找到稍微简化的代码

var requestOptions = {
       method: "POST",
       body: new FormData(event.target),
       redirect: "follow",
};
let requestUrl = "formbackend.com/mylink";

fetch(requestUrl, requestOptions)
.then((response) => {
    // If response is ok
    if (response.ok) {
    console.log("fetch response ok");
    // redirect to schaden-gemeldet page
    window.location.href = redirectUrl;
    // Clear saved formdata from localstorage
    localStorage.removeItem(storageID);
    }
})
// If there is an error log it to console and reidrect to fehler page
.catch((error) => {
    console.error("Error: ", error);
    window.location.href = "/fehler/";
});

如果有人能向我解释我做错了什么,我将不胜感激。谢谢

回答我自己的问题,因为这可能对将来的人有所帮助: 问题中引用的代码不是问题所在。问题是Firefox在点击提交按钮后重新加载页面时阻止了获取请求。
e.preventDefault()
没有阻止在事件冒泡时加载页面。解决方案是将cancelable设置为true:

代码如下:

document
  .querySelector("form")
  .dispatchEvent(
      new Event("submit", { bubbles: true, cancelable: true })
  );