如何在我的ajax请求的URL中替换%2F?

时间:2011-03-15 00:14:39

标签: jquery ajax url-rewriting

我正在使用jQuery,我的问题..

我的URL在ajax请求之后看起来像这样(使用hashchange函数来启用历史记录):

mysite.com/Content/#Disc%2Findex

我希望它看起来像这样:

mysite.com/Content/#Disc/index

我在js中注意到这一行:

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

这与它有什么关系吗?当我在引号之间粘贴一个/但它的内容不会加载。

4 个答案:

答案 0 :(得分:10)

使用:

unescape(url)

将%2F转换为/。你提到的url.replace行会删除url,包括#字符,所以:

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

会变成:

Disc/index

答案 1 :(得分:2)

您的浏览器正在做正确的事情。 %2F是HTTP编码的/字符,从技术上讲,它应该在锚标记中。地点不是为人类观看而优化,而是“正确”。

答案 2 :(得分:1)

不推荐使用unescape,请使用

decodeURI(url)
decodeURIComponent(url)

答案 3 :(得分:0)

尝试使用AJAX请求中的urldecode()rawurldecode()