【问题标题】:Spring Websocket Plugin return valueSpring Websocket 插件返回值
【发布时间】:2015-09-27 13:06:03
【问题描述】:

我正在使用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""

为什么有两个“?我怎样才能提取这个?

【问题讨论】:

    标签: grails spring-websocket


    【解决方案1】:

    试试JSON.parse(message.body)

    注意:这种行为会随着 grails-2.5/grails-3.0 发布 spring-4.1+ 而改变。从那个春季版本开始,纯字符串有效负载将不再进行 json 编码,这意味着您的 js 代码中的 message.body 将具有没有双引号的字符串值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多