admin管理员组

文章数量:1290935

I am using javascript (using jquery) to pass a # symbol as a GET parameter via AJAX call.

The problem right now is that the # symbol is breaking up my querystring.

Any help appreciated. Thanks!

I am using javascript (using jquery) to pass a # symbol as a GET parameter via AJAX call.

The problem right now is that the # symbol is breaking up my querystring.

Any help appreciated. Thanks!

Share Improve this question asked Jan 21, 2010 at 18:21 resopollutionresopollution 20.4k10 gold badges42 silver badges49 bronze badges
Add a ment  | 

4 Answers 4

Reset to default 7

You need to replace it with %23 in the string. However, instead of doing this directly you should use Javascript function encodeURIComponent to encode characters in the URL.

Alternatively, if you are using jQuery.ajax you can automatically encode parameters by passing them in via the data option.

If you are passing the data parameter to jQuery.ajax, jQuery does the encoding for you. You shouldn't be trying to build the URL yourself.

$.ajax({ url : "http://myserver./mypage.aspx",
         data : {'key1' : 'value#', 'key2' : 'value&&'}
         ...
      });

Use encodeURIComponent().

You will have to encode the url using escape, encodeURIComponent function, etc to pass that character. This will turn the characters into their % counter-partts. For example, # will be %23

本文标签: javascriptHow do I pass thesymbol as part of a GET querystring in the URLStack Overflow