weixin_33713350 2017-03-22 12:05 采纳率: 0%
浏览 27

发布请求被切断

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!

  • 写回答

1条回答 默认 最新

  • weixin_33690367 2017-03-22 12:08
    关注

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

    评论

报告相同问题?