Функция обработки в Go, которая получает объект Javascript (используя socket.io) - PullRequest
0 голосов
/ 25 января 2019

У меня есть следующий код от клиента (написанный на jQuery):

$("#send").on("click", function (e) {
    e.preventDefault();
    var content = $("#msg-content").val().trim();
    //emit a socket, sending an object to the server
    socket.emit("createMessage", {
        user: "Lam",
        content: content
    });
    $("#msg-content").val('');
});

и код с сервера

import "github.com/googollee/go-socket.io"

Server.On("connection", func(so socketio.Socket) {
        logger.Info("on connection")
        //what parameter and its type should I put inside the func?
        so.On("createMessage", func(type?) {

        })
})

Мой вопрос: как я могу передать объект js от клиента в событие "createMessage"?

Я был бы очень признателен за любую помощь. Извините, я не могу отступить от кода.

1 Ответ

0 голосов
/ 25 января 2019

Из того, что я вижу в примере о Server Side, функция ожидает строку. Кроме того, объект, на который вы ссылаетесь, является объектом JSON - так что это строка. Я предполагаю, что вы захотите демонтировать (декодировать) эту строку JSON, чтобы что-то с ней сделать. Рискну, вам нужно что-то вроде следующего:

import "github.com/googollee/go-socket.io"

Server.On("connection", func(so socketio.Socket) {
        logger.Info("on connection")
        //what parameter and its type should I put inside the func?
        so.On("createMessage", handlePayload)
})

func handlePayload(msg string) {
    // do something with the JSON string in the msg
}
...