Using “&” and “+” in Querystring

前端 未结 4 401
礼貌的吻别
礼貌的吻别 2021-01-27 09:18

In call the following URL in Javascript.

var par = \"Participant.aspx?ID=\" + Id + \"&NAME=\" + Name+ \"&FIRSTNAME=\" + Firstname;

Some

相关标签:
4条回答
  • 2021-01-27 10:01

    Remember that the contents of the query string (both the names and values) must be correctly URI-encoded. If that line is in JavaScript, you'd do that like this:

    var par = "Participant.aspx?ID=" + encodeURIComponent(Id) +
                "&NAME=" + encodeURIComponent(Name) +
                "&FIRSTNAME=" + encodeURIComponent(Firstname);
    

    (Technically, again, the names should be encoded too, but "ID", "NAME", and "FIRSTNAME" encode to exactly the same thing, so I didn't use encodeURIComponent on them.)

    See AntP's comment re the plus signs and spaces:

    "With URLEncode is the problem that if the Querystring contains spaces between the Name and the "plus" sign, the spaces also get converted to "plus" signs." - that is what should happen. A plus sign denotes a space. An encoded plus sign denotes a plus sign.

    0 讨论(0)
  • 2021-01-27 10:05

    You can use encodeURIComponent for the query string value and then set it as query string

        var url = encodeURIComponent($("#<%=hdnPageQuery.ClientID%>").val());
        var title = encodeURIComponent(document.title);
        var redirectUrl = $("#<%=hdnPageTarget.ClientID%>").val();
        var outputUrl = redirectUrl + '?url=' + url + '&title=' + title;
        $('#ancSendToFriendLink').attr('href', outputUrl);
    
    0 讨论(0)
  • 2021-01-27 10:22

    hey there is another way:

    before passing it to query string just replace:

    .Replace("&","%26");

    on another page it automatically read %26 as &, but then also it not read as &, just again replace:

    .Replace("%26","&");

    0 讨论(0)
  • 2021-01-27 10:24

    You can use predefined UrlEncode and UrlDecode methods. These methods will help you out to pass special characters in query strings. Have a look at these examples.

    UrlDecode and UrlEncode
    hope this helps you.

    0 讨论(0)
提交回复
热议问题