我从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>
答案 0 :(得分:3)
myXml('SYD','Bali')
调用返回undefined
,因为您不在函数体中返回任何内容。所以
document.write(myXml('SYD','Bali'));
将打印"undefined"
。只需用以下代码替换上面的代码:
myXml('SYD','Bali');
答案 1 :(得分:1)
工程师是正确的,或者更好地从myXml函数返回值。
所以,document.write(undefined)不会发生,你可能不会得到上述错误。