2012-12-13 41 views
2

我正在用gae構建一個應用程序,並使用頻道api。GAE頻道api解析onmessage

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); 
    } 
+0

沒有輸出?你收到一個錯誤? – JSuar

回答

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")