为什么当我尝试获取 Markdown 文件时,获取请求不起作用?

问题描述 投票:0回答:1

我尝试使用 fetch 将计算机中的 markdown 文件显示到浏览器窗口,但响应(文本)未定义,为什么会发生这种情况?我留下了一个带有我的代码的密码笔。

https://codepen.io/matiasConchaSoto/pen/popvQgp

<main>
 <h1>Blog con Markdown y ShowDown</h1>
</main>

<script src="https://cdnjs.cloudflare.com/ajax/libs/showdown/2.0.3/showdown.min.js"></script>
<script>
 const d = document,
 $main = d.querySelector("main");

 fetch("./assetsPropios/javascript.md")
 .then(res => {
   console.log(res);
   res.ok ? res.text() : Promise.reject(res);
})
 .then(text => {
   console.log(text);
   $main.innerHTML = text;
 })
 .catch(err => {
   console.log(err);
   let message = err.statusText || "Ocurrió un error";
   $main.innerHTML = `Error ${err.status}: ${message}`;
 });
</script>

请有人帮助我。

javascript ajax promise fetch-api
1个回答
1
投票

第一个

.then()
缺少
return

尝试:

return res.ok ? res.text() : Promise.reject(res);

更好的是:

if(res.ok) {
    return res.text(); 
} else {
    throw new Error(res.statusText); // or some message of your own choice.
}
© www.soinside.com 2019 - 2024. All rights reserved.