はじめに
このプロジェクトでは、Axios を使って認証ヘッダ付きのリクエストを送信する方法と、レスポンスデータに基づいて DOM を更新する方法を学びます。神秘的な呪文の一部を取得するためにサーバとやり取りするシンプルな Web アプリケーションを構築します。
👀 プレビュー

🎯 タスク
このプロジェクトでは、以下を学びます。
- プロジェクトをセットアップして初期コードを取得する方法
- "鍵 1" ボタンの機能を実装する方法
- "鍵 2" ボタンの機能を実装する方法
- 取得した呪文の部分に基づいて宝箱を開けられるかどうかを確認する方法
🏆 成果
このプロジェクトを完了すると、以下ができるようになります。
- カスタムヘッダ付きの HTTP リクエストを Axios を使って行う方法
- 動的なコンテンツを表示するために DOM を操作する方法
- 特定の条件をチェックするための条件付きロジックを実装する方法
- 手順に沿って Web 開発プロジェクトを完了する方法
プロジェクト構造をセットアップする
このステップでは、プロジェクトファイルと構造をセットアップします。以下の手順に従ってこのステップを完了しましょう。
プロジェクトフォルダを開きます。ディレクトリ構造は以下の通りです。
├── css
├── lib
├── js
│ └── index.js
└── index.html
その中で:
index.htmlはメインページです。cssはプロジェクトのスタイルを保存するフォルダです。libはプロジェクトの JavaScript 依存関係を保存するフォルダです。js/index.jsはコードを補完する必要がある JavaScript ファイルです。
WebIDE の右下隅にある Go Live ボタンをクリックして、プロジェクトを実行します。
次に、VM の上部にある「Web 8080」を開き、手動で更新してページを表示します。
鍵 1 のボタンを実装する
このステップでは、「鍵 1」ボタンの機能を実装します。
js/index.jsファイルで、key1Button.addEventListener("click", async () => {... })ブロックを探します。let { data } = await axios.get("/spellone");を以下のコードに変更します。let { data } = await axios.get("/spellone", { headers: { Authorization: "2b58f9a8-7d73-4a9c-b8a2-9f05d6e8e3c7" } });これらのコード行は、
Authorizationヘッダを指定されたトークンに設定して/spelloneエンドポイントに GET リクエストを送信します。レスポンスデータはspell1要素に表示されます。js/index.jsファイルを保存します。
鍵 2 のボタンを実装する
このステップでは、「鍵 2」ボタンの機能を実装します。
js/index.jsファイルで、key2Button.addEventListener("click", async () => {... })ブロックを探します。let { data } = await axios.get("/spelltwo");を以下のコードに変更します。let { data } = await axios.get("/spelltwo", { headers: { Authorization: "2b58f9a8-7d73-4a9c-b8a2-9f05d6e8e3c7" } });これらのコード行は、
Authorizationヘッダを指定されたトークンに設定して/spelltwoエンドポイントに GET リクエストを送信します。レスポンスデータはspell2要素に表示されます。js/index.jsファイルを保存します。
宝箱をチェックする
このステップでは、宝箱を開けられるかどうかをチェックするロジックを実装します。
js/index.jsファイルで、tryOpenTreasureBox()関数を探します。- この関数は、
spell1とspell2要素の内容が期待される値(「I love you」と「You love me too」)と一致するかどうかをチェックします。条件が満たされた場合、treasureBox要素に「opened」クラスを追加し、成功メッセージを表示します。 js/index.jsファイルを保存します。
アプリケーションをテストする
- ブラウザに戻り、ページを更新します。
- 「鍵 1」と「鍵 2」のボタンをクリックし、ページの変化を観察します。
- 宝箱が正常に開かれた場合、成功メッセージが表示されます。完成した効果は以下の通りです。

おめでとうございます!あなたは「神秘的な呪文」プロジェクトを完了しました。Axios を使って認証ヘッダ付きでリクエストを送信する方法と、レスポンスデータに基づいて DOM を更新する方法を学びました。
まとめ
おめでとうございます!このプロジェクトを完了しました。あなたは実験技術を向上させるために LabEx でさらに多くの実験を行うことができます。



