2015-07-09 3 views
0

Я использую Spring Websocket Plugin, и я хочу отправить некоторый logging-output клиенту.Spring Websocket Plugin return value

Вот мой код:

@MessageMapping("/run") 
@SendTo("/topic/run") 
protected String run(@Payload WebForm form) { 
     doSomeWithForm(form) 
    return "started" 
} 

GSP:

$(function() { 
     var socket = new SockJS("${createLink(uri: '/stomp')}"); 
     var client = Stomp.over(socket); 

     client.connect({}, function() { 
      client.subscribe("/topic/run", function (message) { 
       $("#log").append(message.body); 
      }); 
     }); 
     $("#submitBtn").click(function() { 
      client.send("/app/run", {}, JSON.stringify({ 
       'type':$("#type").val(), 
       'id':$("#id").val() 
      })); 
     }); 
    }); 

Это хорошо работает до сих пор, но message.body выглядит следующим образом ""This my return text"".

Почему существуют два «Как я могу извлечь этот

ответ

1

попробовать JSON.parse(message.body)

Примечание:?., Что поведение изменится с Grails-2.5/Grails-3,0 доставка весна-4,1 + из этого источника. версия on, простые служебные данные String больше не будут json-encoded, то есть тогда message.body в вашем js-коде будет иметь строковое значение без двойного котирования

+0

, который работает, спасибо – YAT