Spring Websocket 插件 return 值

Spring Websocket Plugin return value

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

这是我的代码:

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

普惠制:

    $(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""

为什么有两个"?如何提取这个?

尝试JSON.parse(message.body)

注意:随着 grails-2.5/grails-3.0 发布 spring-4.1+,该行为将发生变化。从 spring 版本开始,纯字符串有效负载将不再被 json 编码,这意味着您的 js 代码中的 message.body 将具有不带双引号的字符串值