我正在嘗試使用 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>
請有人幫助我。
uj5u.com熱心網友回復:
第一個.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.
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/444230.html
標籤:javascript 阿贾克斯 api 承诺 拿来
