[リストへもどる]
一括表示
タイトルJavaScript基礎講習 120.htmlにつきまして
記事No6560
投稿日: 2021/12/24(Fri) 18:13
投稿者hide
120,htmlのソースで店名を変更すると下記のエラーとなります。

********
Fetch API cannot load file:///〜〜〜/shop.json. URL scheme "file" is not supported.
getJson @ 120.html:72
120.html:72 Uncaught (in promise) TypeError: Failed to fetch
at getJson (120.html:72)
at HTMLSelectElement.<anonymous> (120.html:59)
********

オリジナルソースでも同様です。
これはこちらの環境の問題なのでしょうか?
宜しくお願いします。

タイトルRe: JavaScript基礎講習 120.htmlにつきまして
記事No6561
投稿日: 2021/12/24(Fri) 19:35
投稿者サーチマン佐藤
私のサーバーのものは、私のブラウザで動いています。
https://searchman.info/course/js0/120.html

↑もエラーになりますか?

エラー出たとして、
ちなみに、他のブラウザではうごきますかね?

タイトルRe^2: JavaScript基礎講習 120.htmlにつきまして
記事No6564
投稿日: 2021/12/26(Sun) 12:15
投稿者hide
> 私のサーバーのものは、私のブラウザで動いています。
> https://searchman.info/course/js0/120.html
>
> ↑もエラーになりますか?
サーバーでのものは正常に動作します。

>
> エラー出たとして、
> ちなみに、他のブラウザではうごきますかね?
Chrome、MS Edge、Firefoxでも同様のエラーとなります。
fetchのところでエラーとなっていますが、fetchはローカル環境では使えないということはありませんか。

タイトルRe^3: JavaScript基礎講習 120.htmlにつきまして
記事No6565
投稿日: 2021/12/26(Sun) 17:48
投稿者サーチマン佐藤
ローカルで使えます。
私の所でも動いていますし、他の方も動いています。

一つ確認ですが、JSONの
URLを絶対パスで書いていませんか?

具体的には以下にして、htmlとjsonファイルを同一ファイルに置けばOKのはずですが・・・・
const url = "shop.json"; //JSONデータ

タイトルRe^4: JavaScript基礎講習 120.htmlにつきまして
記事No6568
投稿日: 2021/12/26(Sun) 21:46
投稿者hide
お返事、有難うございます。

> 具体的には以下にして、htmlとjsonファイルを同一ファイルに置けばOKのはずですが・・・・
> const url = "shop.json"; //JSONデータ
はい、このように記述しています。
ただ、私の言うローカル環境とは、ブラウザを使ってHTMLファイルを直接開くということです。
やはり、これが原因ですね。VSCodeのLiveServerを使って開くと正常に動作しました。
通常、Javascriptはローカル環境でも動作しますが、fetchなどで外部ファイルを扱う場合には、サーバーを通す必要があるとの理解でよろしいでしょうか。

タイトルRe^5: JavaScript基礎講習 120.htmlにつきまして
記事No6571
投稿日: 2021/12/26(Sun) 22:22
投稿者サーチマン佐藤
あ〜、なるほど。
そういう意味でしたか。失礼しました。

はい、その理解でOKです。
すぐに気づけずに、すみませんでした。

タイトルRe^6: JavaScript基礎講習 120.htmlにつきまして
記事No6574
投稿日: 2021/12/28(Tue) 14:26
投稿者hide
お返事を有難うございます。
私も言葉足らずですみませんでした。
これで先に進めます。

タイトルRe^7: JavaScript基礎講習 120.htmlにつきまして
記事No6575
投稿日: 2021/12/28(Tue) 16:58
投稿者サーチマン佐藤
とんでもないです。
こちらも、思い至らずに申し訳ないです。