You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JavaScript fetch()获取GitHub托管Markdown文件失败求助

解决GitHub Markdown文件fetch请求失败的问题

你直接请求GitHub仓库的文件预览页面肯定会出问题的——那个URL返回的是GitHub渲染后的网页HTML,不是你要的原始Markdown内容,而且还会因为内容格式不匹配或者跨域规则导致fetch报错。

给你两个关键修正点:

  • 改用GitHub原始文件地址:把URL里的blob/master替换成raw/master,这样就能直接获取到文件的原始内容了。比如你的地址要改成:https://github.com/erasabi/trekthroughs/raw/master/pen_testing/RickdiculouslyEasy.md
  • 获取文本而非Blob:Markdown是纯文本格式,直接用response.text()获取比blob()更合适,也方便后续处理。

修改后的代码应该是这样的:

fetch('https://github.com/erasabi/trekthroughs/raw/master/pen_testing/RickdiculouslyEasy.md')
  .then(response => {
    // 先检查请求是否成功
    if (!response.ok) {
      throw new Error(`请求失败,状态码:${response.status}`);
    }
    return response.text();
  })
  .then(markdownContent => {
    console.log('拿到的Markdown内容:', markdownContent);
    // 这里可以把内容渲染到页面,比如用marked.js这类库转成HTML
  })
  .catch(error => {
    console.error('获取文件时出错:', error);
  });

简单说下原理:GitHub的blob路径是给用户看的网页,里面包含了导航、代码高亮等元素;而raw路径专门用来返回文件的原始二进制/文本内容,完全符合你获取Markdown文件的需求。

内容的提问来源于stack exchange,提问作者Scott

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:49:14