javascript - 当托管在本地主机上时,Fetch API 因 NetworkError 被拒绝(仅限 Firefox)

标签 javascript firefox fetch-api

我在使用获取 API 时在 Firefox 上看到奇怪的行为。我不知道我是否做错了什么,或者我是否遗漏了一些文档并且不允许我尝试做的事情。

如果我在本地主机上托管下面的页面,Firefox 会拒绝获取并在尝试获取资源时给出 TypeError: NetworkError。 我在开发工具或 Wireshark 中都没有看到任何获取请求.似乎没有任何进一步的调试可用于诊断。

“在本地主机上托管”是指由本地网络服务器(在本例中为 nginx)托管,而不是从文件系统托管。例如,地址栏显示“http://localhost/fetch_localhost_error.html”。

http://jsbin.com/yowebiyigi/edit?html,output 托管同一页面或任何其他端点提供预期的输出 - 文本出现在 div 中,我看到在开发工具中发出提取请求。

Chrome 在这两种情况下都能正常工作,这意味着本地主机和远程服务器都针对 CORS 等进行了正确配置(但 FF 似乎永远不会查询远程服务器)。

我已经在 Windows 7 上尝试了 48 和 Nightly (51)。不幸的是,我现在无法访问任何其他操作系统。

<!DOCTYPE html>
<html>
<head>
</head>
<body>
  <div id="output"></div>
  <div id="error"></div>
  <script>
 var result = fetch('http://www.randomtext.me/api/')

 result.then(
    function(response){
        return response.json()
    })
 .then(
   function (response) {
        document.getElementById("output").innerHTML = response.text_out;
   })
 .catch(
    function(error){
        document.getElementById("error").innerHTML = error;
    });

  </script>
</body>
</html>

这非常令人沮丧,因为我无法在本地开发基于提取的解决方案。谁能阐明正在发生的事情?

最佳答案

在我的案例中,这是该死的 AdBlock。浪费了3个小时...
希望有人能早点找到这个。

关于javascript - 当托管在本地主机上时,Fetch API 因 NetworkError 被拒绝(仅限 Firefox),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38957103/

相关文章:

Javascript 天 +/- 从今天开始

javascript - 如何使用 Jquery 重新加载特定的 div?

javascript - 通过 fetch api 使用 ajax 请求发送 cookie

javascript - 使用嵌入在显示的 EPUB3 电子书中的 Javascript 使 iBooks 翻页(在回流模式下)

javascript - 使用 formdata 通过 jquery ajax 将带有文件输入、文本输入和多个复选框的表单发布到 php

jquery - bxslider/firefox 幻灯片对齐问题

user-interface - 新的 Firefox 更新菜单书签填充间距修复?

javascript - 我如何制作一个外观和行为都像切换按钮的浏览器操作按钮

javascript - 如何从 fetch 中获取 JSON 数据(react-native)

javascript - slack chat.postMessage API 端点不允许授权 header