wordpress 获取请求在Firefox浏览器上被阻止,显示“NS_BINDING_ABORTED”

44u64gxh  于 2023-01-04  发布在  WordPress
关注(0)|答案(1)|浏览(1028)

我试图发送一个PUT请求使用fetch API在我的wordpress网站。当使用谷歌浏览器的请求是没有任何问题的工作。但在火狐的请求被阻止,如下图中说NS_BINDING_ABORTED在控制台。也没有数据在控制台的响应选项卡。(我使用的是最新版本的Firefox 92.0(64位))。本地主机和托管网站都出现问题。

在做了很多关于这个问题的搜索后,我尝试了:
1.更改firefox的设置以关闭Enhanced Tracking Protection、关闭HTTPS-Only Mode
1.将Fetch请求更改为AJAX请求。
1.添加带有storage",*://localhost/*manifest.json文件
1.添加polyfills
1.最后,在引用this answer之后,我尝试向响应添加Cache-Control: no-cache, must-revalidate, max-age=0Expires:头。
仍然没有解决这个问题的运气。总之,请求被firefox浏览器阻止了,我不知道原因。任何帮助都是感激的!

332nm8kg

332nm8kg1#

当我无意中在触发抓取的同一事件中发生页面刷新时,我遇到了这个问题。我通过在事件中添加event.preventDefault()修复了它。网站加载速度太快,很难真正发现刷新,但在其他浏览器中它是无声发生的,firefox明确指出了这一点。下面是导致它的代码:

<form>
  <label htmlFor="username">Username</label>
  <input type="text" id="username" autoComplete="webauthn"></input>
  <button
    id="register"
    onClick={(evt) => {
      # The below line stops the click from submitting the form and was the fix:
      evt.preventDefault()
      # fetch was called within the register function:
      register().catch((err) =>
        console.error("Error performing register:", err)
      )
    }}
  >
    Register
  </button>
</form>

事后看来,很清楚为什么在一个空表单中添加一个按钮是令人耳目一新的(它正在提交它),但是🤦‍♂️🤷‍ ♂️

相关问题