Как передать символ # как часть строки запроса GET в URL? - PullRequest
0 голосов
/ 21 января 2010

Я использую javascript (используя jquery) для передачи символа # в качестве параметра GET через вызов AJAX.

Проблема сейчас в том, что символ # разбивает мою строку запроса.

Любая помощь приветствуется. Спасибо!

Ответы [ 4 ]

6 голосов
/ 21 января 2010

Вам необходимо заменить его на %23 в строке.Однако вместо того, чтобы делать это напрямую, вы должны использовать функцию Javascript encodeURIComponent для кодирования символов в URL.

В качестве альтернативы, если вы используете jQuery.ajax, вы можете автоматически кодировать параметры, передавая их через data опция.

4 голосов
/ 21 января 2010

Если вы передаете параметр данных в jQuery.ajax, jQuery сделает кодировку за вас. Вы не должны пытаться создать URL самостоятельно.

$.ajax({ url : "http://myserver.com/mypage.aspx",
         data : {'key1' : 'value#', 'key2' : 'value&&'}
         ...
      });
2 голосов
/ 21 января 2010

Использовать encodeURIComponent ().

1 голос
/ 21 января 2010

Вы должны будете закодировать URL, используя escape, функцию encodeURIComponent и т. Д., Чтобы передать этот символ. Это превратит персонажей в их% контрагентов. Например, # будет% 23

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...