未捕获的TypeError:无法读取未定义的fancywebsocket.js的属性“发送”:

时间:2018-07-31 14:55:53

标签: javascript php function websocket

我需要实现套接字,并且我不知道为什么会有这个错误Uncaught TypeError: Cannot read property 'send' of undefined fancywebsocket.js:,我有文件 class.PHPWebSocket.php servidor.php >,他的 jQuery fancywebsocket.js (在这里抛出错误)

我已经尝试了很多类型来解决此错误,但我不能得到帮助 我只会添加错误文件:

var Server;

$(document).ready(function() 
{
    Server = new FancyWebSocket('ws://192.168.1.13:8000');
    Server.bind('open', function()
    {
        console.log('opening');
    });
    Server.bind('close', function( data ) 
    {
        console.log('closing');
    });
    Server.bind('message', function( payload ) 
    {
        //alert('entro al message');
    });
    Server.connect();
});

function send( text ) 
{   // exactamente aqui abajo es donde me salta el error y me dice que no esta definida
    Server.send( 'message', text );//<-------------------
}///////////////////////////////////////////////////

function FancyWebSocket(url)
{
    var callbacks = {};
    var ws_url = url;
    var conn;

    this.bind = function(event_name, callback)
    {
        callbacks[event_name] = callbacks[event_name] || [];
        callbacks[event_name].push(callback);
        return this;
    };

    this.send = function(event_name, event_data)
    {
        this.conn.send( event_data );
        return this;
    };

    this.connect = function() 
    {
        if ( typeof(MozWebSocket) == 'function' )
        this.conn = new MozWebSocket(url);
        else
        this.conn = new WebSocket(url);

        this.conn.onmessage = function(evt)
        {
            dispatch('message', evt.data);
        };

        this.conn.onclose = function(){dispatch('close',null)}
        this.conn.onopen = function(){dispatch('open',null)}
    };

    this.disconnect = function()
    {
        this.conn.close();
    };

    var dispatch = function(event_name, message)
    {
        if(message == null || message == "")//aqui es donde se realiza toda la accion
            {
            }
            else
            {
                var JSONdata    = JSON.parse(message); //parseo la informacion
                var nombre = JSONdata[0].nombre;
                var nit = JSONdata[0].nit;
                var funcionario = JSONdata[0].funcionario;
                var nro_radicado = JSONdata[0].nro_radicado;
                var nrosolicitud = JSONdata[0].nrosolicitud;
                var consulta = JSONdata[0].consulta;
                var hora = JSONdata[0].hora;
// saber cual de los dos hay que mostrart
                var numeros;
                 if (nro_radicado != null) numeros=nro_radicado;
                 else if (nrosolicitud != null) numeros=nrosolicitud;
                 else numeros = 'POR DEFINIR';

//saber el tipo de boton que tiene
                var contenidoDiv  = $("#"+funcionario).html();
                var mensajehtml   = '<td width="35%">'+nombre+'</td>';
                    mensajehtml  += '<td width="25%">'+consulta+'</td>';
                    mensajehtml  += '<td width="15%">'+numeros+'</td>';
                    mensajehtml  += '<td width="10%">'+hora+'</td>';
                    mensajehtml  += '<td width="15%"><button type="submit" class="btn btn-danger btn-sm">EN ESPERA</button></td>';
                alert(funcionario);
                $("#"+funcionario).html(contenidoDiv+mensajehtml);
            }
    }
};

这是我的文件PHP,在这里我称其中的脚本为“发送”功能

echo "
        <script src='../../functions/jquery-1.7.2.min.js'></script>
        <script src='../../functions/fancywebsocket.js'></script>
    ";


                $arrayjson[] = array(
                                    'nit'          => $_SESSION['nit'],//nit del solicitante
                                    'nombre'       => $_POST['nombre'].' '.$_POST['apellido'],// nombres concatenados 
                                    'funcionario'  => $_POST['atendio'],//quien atiende
                                    'nro_radicado' => $nro_radicado,//numero de radicado
                                    'nrosolicitud' => $_POST['nrosolicitud'],// numero de solicitud
                                    'consulta'     => 'APORTAR PLANOS',//tipo de consulta que se realiza
                                    'hora'         => $hora//hora de agendamiento
                );

                // echo json_encode($arrayjson);

                 echo "<script>send(".$arrayjson.");</script>";

非常感谢您,将等待答复... ReNiceCode ...

0 个答案:

没有答案