0

私は今何が起こっているのか完全に困惑しており、過ぎ去った数週間のうち何度もエラーなしでこれを行ってきたので、信じられないほどイライラしています. しかし、突然、JavaScript を使用して HTML ページに XML データを表示することができなくなりました。説明させてください。

私は Microsoft Visual Studio 2012 Ultimate で作業しています。ここ数週間で、いくつかの Web ページを作成しました (ASP.NET プロジェクトと .html ではなく .aspx ファイルとして)。今回は、.aspx ファイルを作成する代わりに、以下に示す .html ファイルを作成しました。読みやすいように、CSS と JavaScript をインラインに配置したことに注意してください。

<!DOCTYPE HTML>
<html>
  <head>
    <meta charset="utf-8">

      <style type = "text/css">
         h2 {color:Navy}

         li 
         {    
             font-family : monospace;
             font-weight: bold; 
             color:Navy;
         }

         li:hover {color: red;}
      </style>

      <script type="text/javascript">
          $(document).ready(function () {
              $.ajax({
                  type: "GET",
                  url: "stylesheets/stocks.xml",
                  dataType: "xml",
                  success: function (xml) {
                      $(xml).find('Stock').each(function () {
                          var company = $(this).find('Company').text();
                          var market = $(this).find('Market').text();
                          var sector = $(this).find('Sector').text();
                          var price = $(this).find('Price').text();
                          $("#company").html(company);
                          $("#market").html(market);
                          $("#sector").html(sector);
                          $("#price").html(price);
                          });

                        }
                    });
                });
      </script>
   </head>

   <body onload="onBodyLoad()">
       <h2>List of Stocks:</h2>
      <div id="stockList"> 
          <ul><!--Temporary-->
              <li>BA</li>
              <li>CSCO</li>
              <li>ED</li>
              <li>GOOG</li>
              <li>MO</li>
          </ul><!--temp-->
      </div>
      <div id="stockInfo"> <!--Make a script to Show/Hide this div. Hide on default-->
          <table>
              <tr>
                  <td>1.</td><td>Company - </td><td id="company"></td>
              </tr>
              <tr>
                  <td>2.</td><td>Market - </td><td id="market"></td>
              </tr>
              <tr>
                  <td>3.</td><td>Sector - </td><td id="sector"></td>
              </tr>
              <tr>
                  <td>4.</td><td>Price - </td><td id="price"></td>
              </tr>
          </table>
      </div>
   </body>
</html>

私がやろうとしているのは、提供したテーブルに XML データを表示することだけです。会社名、市場、セクター、株価をそれぞれのテーブル セルに出力します (ex id="company")。最終結果は次のようになります。

  1. 会社 - Google
  2. 市場 - ナスダック
  3. セクター - ソフトウェア
  4. 価格 - $487.80

代わりに、私が得ているのはこれだけです:

  1. 会社 -
  2. 市場 -
  3. セクター -
  4. 価格 -

私は文字通り、同じループを何十回も使用してきました (変数名を変更するだけで済みます)。素晴らしい結果が得られました。しかし今、奇妙な理由で、このスクリプトは機能していません。面白いのは、XML コンテンツを別の ASPX プロジェクトの別の XML ファイルにコピー アンド ペーストしたことです (もちろん、スクリプト変数名などを少し変更しただけで) XML データは問題なく表示されました...この特定のケースでは機能しないようで、非常にイライラします。関連する XML、HTML、JavaScript のすべてを 4 回近くやり直して書き直しましたが、HTML ページをロードすると、HTML でハードコーディングしたものだけが表示され、XML データは表示されません。スクリプトが実行されていないようです..この html ファイルはルート フォルダにあり、XML ファイルは m からデータを取得しようとしているのは、"stylesheets" という名前のルート フォルダーにあるフォルダーにあります。ファイルの名前は stocks.xml です。したがって、JavaScript に入力したディレクトリは正しいです。

よくわかりません...何が間違っていますか?

4

0 に答える 0