javascript - 使用 fetch api 远程加载 md 文件并在客户端/浏览器上解析它

标签 javascript client blob markdown fetch

我想使用 fetch API 加载 .md 文件,并且需要使用 marked 解析它

我在通过 fetch api 获取文件时遇到问题,使用 response.blob()response.arrayBuffer() 没有得到任何结果。

fetch('http://s3.amazon.com/some_bucket/some_file.md')
 .then(response => response.blob())
 .then(result => console.log(result));

然后我想获取结果并将其传递给 react 组件来渲染它。我将使用标记(来自 npm)来解析它。

如有任何帮助,我们将不胜感激。

最佳答案

我假设您收到请求的资源上不存在“Access-Control-Allow-Origin” header 。错误响应。也就是说,您正在发出跨域请求,从而违反了 Same-origin policy .

基本上,您需要在 S3 存储桶上启用跨域资源共享 (CORS)。具体怎么做,可以read here .

此外,作为快速测试,您可以在尝试获取的 URL 前面加上 https://crossorigin.me/ 前缀,如下所示:

fetch('https://crossorigin.me/http://s3.amazon.com/some_bucket/some_file.md')
 .then(response => response.blob())
 .then(result => console.log(result));

这应该使请求成功。不过,这只是为了测试。

关于javascript - 使用 fetch api 远程加载 md 文件并在客户端/浏览器上解析它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43599592/

相关文章:

c - 套接字客户端程序错误

blob - 如何使用 blob 或 dataURL 作为 360 度照片的帧或天空的 src

php - 如何使用 JavaScript 在 PHP GET 变量上运行 if 语句?

javascript - 为什么返回的 promise 是空的?

javascript - 是否可以查询背景图像的所有具有行内样式属性的元素?

javascript - 放大弹出窗口基本实现不起作用

C 客户端/服务器与 fprintf 通信?

client - J2SE 客户端服务器应用程序 : Client calls RMI method. 服务器处理 RMI 方法并返回,但客户端从未收到它。有任何想法吗?

ruby-on-rails - 如何在 AJAX 中将 RecordRTC blob 文件上传到 Rails 回形针

sql - 有没有一种方法可以在Oracle 10g中的数据库之间复制BLOB记录?