0

我正在从 XML 获取数据。我可以成功地从 XML 中获取价格,但是当我使用下面给出的函数时,会出现一个名为 undefined 的意外错误;

<html>
  <head>
    <script type="text/javascript">
      function myXml(origin, destination) {
        var x=xmlDoc.getElementsByTagName("flights");

        for(i=0;i<x.length;i++) {
          if(x[i].getAttribute('FrTLAs')==origin && x[i].getAttribute('destination')==destination) {
            document.write(x[i].getAttribute('price'))
          }
        }
      }
    </script>
  </head>
  <body>
    <script type="text/javascript">
      document.write(myXml('SYD','Bali'));
    </script>
  </body>
</html>
4

2 回答 2

3

myXml('SYD','Bali')调用返回undefined,因为您不会在函数体中返回任何内容。所以

document.write(myXml('SYD','Bali'));

将打印"undefined"。只需将上面的代码替换为:

myXml('SYD','Bali');
于 2012-04-14T10:48:49.067 回答
1

工程师是正确的,或者更好地从您的 myXml 函数返回值。

因此,不会发生 document.write(undefined) 并且您可能不会收到上述错误。

于 2012-04-14T10:52:19.283 回答