Javaサーブレットまたはアクションからajaxによって取得するjQueryを使用して一部のデータを解析しようとしています。これは私の最悪の週です、すべてがバナナになります。これが私の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>
そして、「SomeHTML」である「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ですべてではなく1つのアイテムだけを選択しようとしています...