Spring Websocket Plugin返回值

时间:2015-07-09 08:56:10

标签: grails spring-websocket

我正在使用Spring Websocket Plugin,我想向客户端发送一些日志输出。

这是我的代码:

@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 个答案:

答案 0 :(得分:1)

尝试JSON.parse(message.body)

注意:该行为将随着grails-2.5 / grails-3.0 shipping spring-4.1 +的变化而变化。从那个春天版本开始,普通的字符串有效负载将不再是json编码,这意味着你的js代码中的message.body将具有字符串值而不需要双引号