浏览器AJAX / XML / jQuery问题

时间:2012-02-26 22:19:06

标签: jquery xml ajax

我一直在试图通过从XML文档中提取信息来填充表单元素。我已经搜遍了我所知道的每一种资源,用Google搜索出来,甚至在这里问了几个问题,但无济于事。

我认为问题出在我和我的语法上,不知道我在地上的一个洞背后。因此,为了从等式中消除我的自我,我直接从网上复制了一些例子(在源网站上测试时有效)并将它们放在我的本地机器上进行试用,你不知道,它们不会工作!所以这不仅仅是我!耶!

在尝试处理XML文件时,我错过了什么?我缺少一些本地主机设置或浏览器设置吗?

作为参考,这是我尝试在我的计算机上复制的例子:

<html>
<head>
<script type="text/javascript">
function loadXMLDoc(url)
{
var xmlhttp;
var txt,x,xx,i;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    txt="<table border='1'><tr><th>Title</th><th>Artist</th></tr>";
    x=xmlhttp.responseXML.documentElement.getElementsByTagName("CD");
    for (i=0;i<x.length;i++)
      {
      txt=txt + "<tr>";
      xx=x[i].getElementsByTagName("TITLE");
        {
        try
          {
          txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
          }
        catch (er)
          {
          txt=txt + "<td> </td>";
          }
        }
      xx=x[i].getElementsByTagName("ARTIST");
        {
        try
          {
          txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
          }
        catch (er)
          {
          txt=txt + "<td> </td>";
          }
        }
      txt=txt + "</tr>";
      }
    txt=txt + "</table>";
    document.getElementById('txtCDInfo').innerHTML=txt;
    }
  }
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
</script>
</head>
<body>

<div id="txtCDInfo">
<button onclick="loadXMLDoc('cd_catalog.xml')">Get CD info</button>
</div>

</body>
</html>

1 个答案:

答案 0 :(得分:1)

  1. 我认为你的网址存在问题。我不确定'cd_catalog.xml'是不是。也许使用完全绝对的网址。

  2. 我建议您使用带有JSON的jQuery POST而不是此代码。

  3. 你有一些服务器端代码吗?