-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
外部ファイルの読み込み処理を作成する #2
Comments
もしくは、問題用のJSONファイルを簡単に作成できるWebアプリを作成するのもありかも。 |
Quiz JSON Creator を作成したのでとりあえず簡単にJSONファイルは作成できるようになりました。 |
とりあえずJSONを |
Fetch APIを利用した、外部ファイルの読み取りを実施してみます。 また注意点として、ローカルorWebサーバを立てなければならない点も把握いたしました。 |
@HikaruNishi python 2.Xインストールしているならディレクトリまで移動して |
進捗を下記に記載いたします。加えて、一点質問もあります。 ローカル上ですが、外部ファイル(JSON)の読み取り&画面表示の動作確認がとれました。 上記について、対象ソースとコード行を下記に記載いたします。 軽く調べた感じ、単にJS上でオブジェクトのコピーができていないだけのようです。。。 以上です。 |
研修中にお話した結果、どうやら非同期が原因のようです。 ■サンプルソース function hoge(){
return new Promise(function(resolve,reject) {
console.log('0');
window.setTimeout(function() {
console.log('1');
resolve('届いた');
},3000);
});
}
hoge().then(function(result) {
console.log(result);
console.log('result');
})
.catch(function(e) {
console.error(e);
}); ■参考サイト |
いいね!ちなみにマークダウンで複数行のコードを囲むときは(縦線は無視して)
と書くと var a = "hello markdown";
var b = 5; シンタックスハイライトとインデントが反映されます。 |
fetch API、iPhoneと古いAndroidのモバイルブラウザ対応していないね…… Fetchみたいな新しめのJS言語仕様はPolyfillというレガシーブラウザ向けのライブラリがあるので、 |
メールでいただいたサンプルを元に作成&ローカルサーバで実行したところ、画面に問題文・選択回答・解説文が表示されるようになりました。 また、もしJSをデバッグできる環境をお持ちでしたら、連携していただきたいです。 |
zipで落として展開したところfetchの部分で |
ありがとうございます。お手数をおかけし申し訳ございません。こちらでもデバッグ環境を構築し試したところ、fetchの箇所(app.js:73行目)にてエラーがでていました。 ■エラー画面
エラーの出どころを追うと、libフォルダの「marked.min.js」からでした。(おそらく、ファイルパスの書き方が悪いのかな、と推測しております。。。) また明日帰宅したら解析してみます。 |
今現在クイズの問題は
app.js
ファイル内に直書きjsonで書いています。今後はdata/
ディレクトリ内のファイルを読み込むよう機能改善が必要です。TODOとDONEを整理します。CSVからJSONに変換するにあたり、今回配列をJSONで用いているため上記の参考サンプルだけではうまくいきません。配列の対応が必要になり、そこが若干手間取りそう。
また注意として、Fetch APIを利用することで単なるローカルファイルから開いた場合にファイル読み込みができなくなる点があります。この場合ローカルサーバーを立てる必要があります(どっかのWebサーバーでもかまいません)。
The text was updated successfully, but these errors were encountered: