我正在尝试使用 jQuery 从 Java servlet 或操作中通过 ajax 检索来解析一些数据。这是我最糟糕的一周,一切都很顺利。这是我的 XML 响应:
<ajax-response>
<response>
<item>
<name>ok</name>
<value>true</value>
</item>
<item>
<name>menuDiv</name>
<value> Some HTML Menu</value>
</item>
</response>
</ajax-response>
我试图只获得“Some HTML”的“menuDiv”值:
$.ajax({
type: "GET",
url: basePath+'mostrarMenu.do',
dataType: "xml",
success: parseXml
});
function parseXml (xml) {
var menu = $(xml).find("item");
menu.each(function(i, value) {
alert(value[0]);
if (value == 'menuDiv') {
alert("Esto es el menudiv:"+value);
}
if (( value != null ) || ( value != '') || ( value != ' ')) {
$('#menuDiv').append(value);
}
else
alert ("anda el else");
});
alert(value[0]);
并且if ( value == 'menuDiv') {
什么都不返回,最后一个if
使菜单可见,但其他项目也是如此,就像一个true
出现在漂亮菜单前的单词一样。
任何帮助或建议将不胜感激。谢谢。
编辑2:
使用此功能,现在我得到纯文本(未呈现的 html)和所有“< items >”:
function parseXml (xml) {
var menu = $(xml).find("item");
menu.each(function(i, value){
if(( value != null ) || ( value != '') || ( value != ' ')){
$('#menuDiv').append($(value));
} else alert ("anda el else");
});
}
}
我更改了 dataType: 'html' 并且我的菜单是可见的,但我继续尝试在我的 XML 上只选择一个项目,而不是所有项目......