I am trying to pass a string via HTTP request which has one of the character as % in the URL query string.
url = url + "?q=" + str + "&block=" + block; // str contains the '%' character
But on the ColdFusion page where I’m sending this information is returning following error:
Element Q is undefined in URL.
How can I encode the % sign in a URL?
You should url-encode all the values you are passing as query parameters, but the url-encoding for % is
%25Update: if you’re constructing the query parameters in javascript, you probably want to do:
(Updated again with ZeissS’ very helpful suggestion to use
encodeURIComponentinstead ofescape. See also http://xkr.us/articles/javascript/encode-compare/)