我是AJAX的新手,我正在尝试将可过滤信息从XML文档中提取到网页。到目前为止,我正在尝试使用这些过滤的XML项创建一个数组,然后将数组中的项目拉到页面上。
我的XML文档非常简单,我想要做的就是显示“类型”为100的项目。最佳做法是过滤服务器端还是可以在请求期间/之后进行过滤?有谁知道为什么这个脚本不起作用和/或是否有更有效的方法?
这是我的XML:
<items>
<item id="1">
<type>100</type>
<item>
<item id="2">
<type>101</type>
<item>
<item id="3">
<type>100</type>
<item>
<item id="4">
<type>102</type>
<item>
</items>
这是我的剧本:
$(document).ready(function(){
var array = [];
$.ajax({
type: "GET",
url: "text.xml",
dataType: "xml",
success: function(xml){
$(xml).find("item").each(function(){
if( x == $(this).find("type") == "100"){
$(this).push(array);
}
});
});
$.each(array, function() {
$(body).append("<p>" + $(this).attr("id") + "</p>" );
});
});
答案 0 :(得分:3)
尝试
$(document).ready(function(){
$.ajax({
type: "GET",
url: "text.xml",
success: function(xml){
var items = $(xml).find("item").filter(function(){
return $('type', this).text() == '100';
});
items.each(function(index, item){
$('body').append("<p>" + $(item).attr("id") + "</p>" );
});
}
});
});
演示:Plunker
注意: 您的xml存在问题,item
的结束标记不正确,应为</item>