2016-03-05 34 views
0

我正在尝试为我的XML文档中的每个“行”标记填充ul和<li>元素。现在我只想让它显示一个任意的文本,直到我可以找出为什么这个功能不起作用,然后我将从文件中添加实际值。 #结果是<ul>。用jquery生成ul和xml

function getXML() { 
 
    $.ajax({ 
 
     type: "GET", 
 
     url: "garbage.xml", 
 
     dataType: "xml", 
 
     success: generateList 
 
     });  
 
}; 
 
function generateList (xml) { 
 
    $(xml).find('Row').each(function() { 
 
     $('#results').append(
 
     '<li class="results__item">1</li>' 
 
     ); 
 
    }); 
 
} 
 
$(document).ready(function() { 
 
    getXML(); 
 
});

这里的XML

<?xml version="1.0" encoding="windows-1252" standalone="yes"?><!-- Generated by abcexcel--> 
 
<Records> 
 
    <Record> 
 
    <Row 
 
     A="TITLE" 
 
     B="ALT_WORDS" 
 
     C="DESC_ID" 
 
     D="DESCRIPTION" 
 
    /> 
 
    </Record>

的样本它所做的就是重复多个记录。

+0

是这一切的权利的功能'generateList'被称为不带参数? –

+0

@MartinStaufcik我在“generateList”后取出括号,但仍无济于事。我已经设法做一个Ajax调用之前没有传递任何参数,执行类似的事情。 –

+0

显示xml的样本。添加一个错误处理程序也看看是否会触发。通过检查浏览器开发工具网络中的实际请求,可以获得更多详细信息 – charlietfl

回答

-1

尝试改变的getXML功能:

function getXML() { 
    $.get("garbage.xml", function(data) { 
     generateList(data); 
    }); 
} 

或使用AJAX功能

$.ajax({ 
    type: "GET", 
    url: "garbage.xml", 
    dataType: "xml", 
    success: function(xml) { 
     generateList(xml); 
    }); 
+0

为什么这会有所帮助......它只不过是'$ .ajax'的快捷方式而已,您省略dataType参数 – charlietfl

+0

函数generateList()被调用时没有预期的xml参数,在此答案中,它被称为参数 –

+0

没有......当OP删除大括号来调用函数时,它是对函数的引用,并且可以正常工作 – charlietfl