0

我对现在发生的事情感到非常困惑,这非常令人沮丧,因为在过去的几周中我已经多次这样做了,没有错误。但突然之间,使用 JavaScript 在 HTML 页面中显示 XML 数据变得不可能了。让我解释。

我在 Microsoft Visual Studio 2012 Ultimate 工作。在过去的几周里,我创建了几个网页(作为 ASP.NET 项目和 .aspx 文件而不是 .html)。这一次,我没有创建 .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. 公司 - 谷歌
  2. 市场 - 纳斯达克
  3. 部门 - 软件
  4. 价格 - 487.80 美元

相反,我得到的是:

  1. 公司 -
  2. 市场 -
  3. 部门 -
  4. 价格 -

我之前已经多次使用相同的循环(只需要修改变量名等等),效果很好。但是现在,出于某种奇怪的原因,这个脚本不起作用。有趣的是,我已经将 XML 内容复制并粘贴到另一个 ASPX 项目中的另一个 XML 文件中,并且(当然,对脚本变量名称进行了一些修改等等)XML 数据显示得很好......它只是在这种非常令人沮丧的特殊情况下似乎不起作用。我已经重新编写并重写了几乎 4 次涉及的所有 XML、HTML 和 JavaScript,但是,当我加载 HTML 页面时,我只盯着我用 HTML 硬编码的内容,没有 XML 数据。就像脚本甚至没有运行一样。这个 html 文件位于根文件夹中,而 XML 文件我 试图从中获取数据的 m 位于名为“stylesheets”的根文件夹中的文件夹中。该文件名为stocks.xml。因此,我在 JavaScript 中输入的目录是正确的。

我只是不明白......我做错了什么?

4

0 回答 0