【问题标题】:how to add custom data with sails.io handshake query如何使用sails.io 握手查询添加自定义数据
【发布时间】:2015-08-07 03:48:16
【问题描述】:

我想在客户端的sails.io 初始连接期间发送一个自定义查询变量。我加了

 io.sails.query = "token=fdbfdsjf"; 

在包含sails.io.js 之后,但我在服务器上的握手数据中看不到它,这是:

query: 
   { __sails_io_sdk_version: '0.11.0',
     __sails_io_sdk_platform: 'browser',
     __sails_io_sdk_language: 'javascript',
     EIO: '3',
     transport: 'polling',
     t: '1432569655670-22' }

在sails.io 连接到服务器之前,将数据/变量添加到客户端握手的正确方法是什么?

【问题讨论】:

    标签: socket.io sails.js socket.io-1.0 sails.io.js


    【解决方案1】:

    我拦截了 window.io() 函数调用,将我的查询参数注入到选项对象的 .query 属性中(第二个参数到 .io())

    <script> 
             (function () {
                var io;
    
                Object.defineProperty(window, 'io', {
                   get: function get() {
                        return io;
                   },
                   set: function set(iofunc) {
                      io = function(){
                         var opts = arguments[1];
                         if (typeof opts.query === 'string') {
                            opts.query += '&token=<%=_csrf%>';
                         }
                         return iofunc.apply(this, arguments);
                      };
                    }
                });
             })();
          </script>
    
          <!--SCRIPTS-->
          <script src="/js/dependencies/sails.io.js"></script>
    

    【讨论】:

      猜你喜欢
      • 2016-08-20
      • 1970-01-01
      • 2019-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-25
      • 2020-07-19
      • 2016-06-16
      相关资源
      最近更新 更多