我正尝试使用jQuery从Java Servlet或Action接收通过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>
我正在尝试获取只包含“menuDiv”值的内容,即“一些HTML”:
$.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中的ITEM而不是所有ITEM...