我对现在正在发生的事情感到非常难过,这令人非常沮丧,因为我在过去的几周里已经多次没有犯过错误。但突然之间,使用JavaScript在HTML页面中显示XML数据在某种程度上变得不可能。让我解释一下。
我在Microsoft Visual Studio 2012 Ultimate中工作。我在过去几周内创建了几个网页(如ASP.NET项目和.aspx文件而不是.html)。这次,我创建了一个.html文件,而不是创建.aspx文件,您可以在下面看到。请注意我已将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”)。最终结果应如下所示:
相反,我得到的就是:
我之前几十次使用过相同的循环(只需要修改变量名称,而不是修改变量名称),效果很好。但现在,由于一些奇怪的原因,这个脚本无法正常工作。有趣的是,我已经将XML内容复制并粘贴到另一个ASPX项目中的另一个XML文件中(当然只需对脚本变量名称进行一些修改,但是没有)显示的XML数据就好了...它只是似乎在这个非常令人沮丧的特殊情况下不起作用。我已经重新完成并重写了所有XML,HTML和JavaScript近4次,然而,当我加载HTML页面时,我只是盯着我用HTML编写的硬编码,没有XML数据。这就像脚本甚至没有运行..这个html文件位于根文件夹中,我试图从中获取数据的XML文件位于名为“stylesheets”的根文件夹中的文件夹中。该文件名为stocks.xml。因此,我输入JavaScript的目录是正确的。
我只是不明白......我做错了什么?