Reputation: 602
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!
Upvotes: 0
Views: 646
Reputation: 16574
You need to convert the username
parameter into a URI safe string, using xhttp.send("username="+encodeURIComponent(username));
Upvotes: 3