fetch api 无法加载,不支持 url 方案“文件”

义进

我试图fetch在本地主机上使用,但没有用。

这是我的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        fetch("hi.txt").then(function(response){
            response.text().then(function(text){
                alert(text)
            })
        })
    </script>
</body>
</html>

hi.txt 文件与脚本文件在同一文件夹中。

以下错误显示在控制台中:

index.html:12 Fetch API cannot load file:///C:/~~~~/hi.txt. URL scheme "file" is not supported.

(~~~) 是路径

TJ克劳德

由于您的 URL 是相对的(它只是"hi.txt"),因此它会根据运行代码的页面的 URL 进行解析。在您的情况下,这似乎是file:///something - 也就是说,您直接从文件系统加载的文件,而不是通过从服务器请求它。Chrome 不允许从file方案中获取file方案的起源是nullChrome 团队对同源政策的解释是,没有任何来源,甚至它本身,都不应该匹配null(我认为这是合理的解释,但意见可能会有所不同。)

在进行 Web 开发时,您希望通过服务器进程工作,因为直接从文件系统加载的页面与从服务器加载的页面在一些有时微妙的方式上表现不同。

有几种方法可以做到这一点:

  • 使用 IDE 的功能(如果使用)和/或对它的扩展。例如,对于 VSCode,有“实时服务器”扩展,这使得从最小的服务器运行代码变得非常容易。
  • 使用在本地运行的实际 Web 服务器进程。有一些简单的易于安装。
  • 使用各种“快速启动”脚手架工具中的一种,通常通过npm(和 Node.js)为您设置简单的项目,并带有一个命令,您可以使用该命令在开发模式下在本地构建和运行项目。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

IONIC:无法加载资源:不支持的URL

Scrapy错误(不支持的url方案javascript)

由于不支持URL类型http,因此无法打开文件

Instagram在Instagram上的iOS共享:无法保存文件,因为不支持指定的URL类型

Scrapy错误:“不支持:不支持的URL方案”:没有适用于该方案的处理程序

多部分文件 api 不支持的媒体类型

不支持的URL协议

不支持的URL iOS

通过Facebook Graph API快速获取个人资料图片,返回“不支持的URL”

历史记录PushState API不支持url中的长片段

如何避免“ scrapy.exceptions.NotSupported:不支持的URL方案”:该方案没有可用的处理程序”

ValueError:不支持的泡菜协议:3,python2泡菜无法加载python 3泡菜转储的文件?

在发布模式下,Visual Studio“无法加载文件或程序集。不支持该操作”错误

无法加载文件或程序集不支持该操作。(来自HRESULT的异常:0x80131515)

MSI API不支持长文件名-如何缩短文件名?

embeds[0].author.icon_url:不支持方案“null”。不和谐.js V13

Azure kudu vfs API不支持其中包含“#”的文件名

不支持给定路径的格式。从 Asp.net Api 下载文件时出错

如何使用 Fetch API 获取包含 # 的 URL?

从不支持 BT5 的远程 URL 加载数据

NSURLRequest中不支持的URL

反应本机不支持的URL(IOS)

Perl:连接到 Walmart API 以加载项目不支持的媒体类型错误

实时站点上不支持JSON Fetch javasScript / jQuery

Xcode 9.4不支持的iOS 12:无法找到设备支持文件

PayPal API不支持Items?

当前平台不支持桌面API

nodejs gmail api不支持promise

Robolectric不支持API级别28