Как заменить% 2F в URL-адресе, запрошенном ajax? - PullRequest
3 голосов
/ 15 марта 2011

Я использую jQuery, моя проблема ..

мой URL выглядит так после ajax-запроса (используя функцию hashchange для включения истории):

mysite.com/Content/#Disc%2Findex

Я хочу, чтобы это выглядело так:

mysite.com/Content/#Disc/index

Я заметил эту строку в моем js:

url = url.replace(/^.*#/, '');

Имеет ли это что-нибудьчто с этим делать?когда я вставляю / между кавычками, это работает, но мой контент не загружается.

Ответы [ 4 ]

10 голосов
/ 15 марта 2011

Используйте:

unescape(url)

для преобразования% 2F в /.Упомянутая вами строка url.replace обрезает URL до символа # и включает его, поэтому:

http://mysite.com/Content/#Disc/index

станет:

Disc/index
2 голосов
/ 15 марта 2011

Ваш браузер делает правильные вещи. %2F - это символ / в кодировке HTTP, и с технической точки зрения он должен присутствовать в теге привязки. Места не оптимизированы для просмотра человеком, но должны быть «правильными».

1 голос
/ 21 июля 2014

unescape устарело, используйте

decodeURI(url)
decodeURIComponent(url)
0 голосов
/ 15 марта 2011

Попробуйте с urldecode() или rawurldecode() в вашем запросе AJAX.

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