1

I'm sending some data from my web page using socket.io and then handling it in the node.js back end.

The code I use to send my data is:

var joystick1 = new VirtualJoystick({
        container   : document.body,
        strokeStyle : 'cyan'
    });
    setInterval(function(){
                var outputEl    = document.getElementById('resulty');
                outputEl.innerHTML  = joystick1.deltaY();

                //THE DATA IS SENT HERE
                socket.emit('key', {Speed: joystick1.deltaY()});

            }, 1/30 * 1000);
    joystick1.addEventListener('touchStartValidation', function(event){
        var touch   = event.changedTouches[0];
        if( touch.pageX >= window.innerWidth/2 )    return false;
        return true
    });

I handle it in node.js using this code:

socket.on('key', KeyReceived);  //Key received from client

function KeyReceived(data)
{
    //DATA IS PRINTED HERE
    console.log(data);

    switch(data.Key)
    {
    case "Steering":
        _direction = 90 + data.value;
    console.log(_direction);
        break;
    case "Speed":
        _speed = 90 + data.value;
    console.log(_speed);
        break;
    case "Adjustment":
        _adjustment = data.value;
        break;
    }
}

In the console this prints out my data, but for some reason it won’t go into my case statements because my keys don't match?

What do I need to change to make this work?

1
  • Could you add what gets printed to the console? Commented Jul 10, 2013 at 12:02

2 Answers 2

2

Log the object you are sending to see its content, it does not have Key.
So what you really want to do is to send this object:

socket.emit('key', { Key: 'Speed', value: joystick1.deltaY() });
Sign up to request clarification or add additional context in comments.

Comments

2

The data parameter is a javascript Object or javascript hash. This object doesn't have a Key or a Value property.

To test if this your object has a key use data.hasOwnproperty('Speed'). If you want to get the value of this property use data['Speed'] or the equivalent dot-notation data.Speed.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.