2

我正在用 gae 构建一个应用程序,并使用通道 api。

String message ="<data><title>newMessage</title><message>Hello</message></data>"; 
channelService.sendMessage(new ChannelMessage(user,message));

这个字符串是从 java servlet 发送的,在前端我想用 jquery 解析它。这就是我所做的,但它不起作用。

function onSocketMessage(message) {

     var xml = $.parseXML(message.data),
     $xml = $( xml ),
     $title = $xml.find('title');

    if($title == "newMessage"){

           alert($xml.find('message'));
    }
}

这是实际上可以正常工作的javascript代码。

var messageXML = ((new DOMParser()).parseFromString(message.data, "text/xml"));
    var title = messageXML.documentElement.getElementsByTagName("title")[0].firstChild.nodeValue;
    if(title == "newMessage"){
        alert(messageXML.documentElement.getElementsByTagName("message")[0].firstChild.nodeValue);
    }
4

1 回答 1

0
function onSocketMessage(message) {

    var xml = $.parseXML(message.data),
    $xml = $( xml ),
    $title = $xml.find('title');

    if($title.text() == "newMessage"){
        alert($xml.find('message'));
    }
}

你应该给.text(),我猜你在这一行错过了if($title.text() == "newMessage")

于 2014-07-16T11:37:40.187 回答