Post request gets cut off

I have a problem with my post request in javascript.

I have the following code for sending the post request

    var xhttp = new XMLHttpRequest();
        xhttp.onreadystatechange = function() 
        {
            if (this.readyState == 4 && this.status == 200) 
            {   
                //stuff
            }
        };
        xhttp.open("POST", "/deleteUser", true);
        xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xhttp.send("username=" + username);

And in my node.js express application i receive it like this

    var username = req.body.username;

Now this works perfect with normal characters (numbers and letters). But when i tried

>df)(*&&^%$

as username it gets cut off to

    >df)(* 

I suspect it is because of the &.

My question: How do i prevent it from getting cut off.

Thanks in advance!

Answers:

Answer

You need to convert the username parameter into a URI safe string, using xhttp.send("username="+encodeURIComponent(username));

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us Javascript

©2020 All rights reserved.