jQuery的encodeURI用于href不起作用

8

我遇到了一个问题,需要将一个变量放入链接中,但是我无法对字符串进行编码。我相信这很简单,但我找不到相关的解决方法。

$("a.inquiry").attr("href", "/inquiry/6933/text=" + encodeURI("text o"));

这个不起作用。

encodeURI("text o")

仍然返回:
link/text o

替代方案:

link/text%20

也尝试过:

$("a.inquiry").attr("href", encodeURIComponent("/inquiry/6933/text=" + "text o"));

由于您在此问题中标记了encodeuricomponent,难道您没有尝试过吗? - Gumbo
1
encodeURIComponent 应该能正常工作。我已经尝试了您提供的示例,看起来是有效的。请查看 http://jsfiddle.net/XdJCM/。 - Zafer
2个回答

17

2
不管怎样,这都不起作用;-( 要么它不起作用,要么我做的某些事情之后会撤销编码? - holden
@holden:可能是这样,encodeURIComponent 对我一直都有效。 - Sarfraz
不适用于我,实际上逗号可以工作,但空格不行。 - Govind Singh

6

我本以为我遇到了同样的问题,但后来我意识到我在鼠标悬停在结果链接上时和在点击链接后的地址栏中查看结果。结果发现我的浏览器在两种情况下都显示了空格 - 也就是当我从地址栏中复制URI并将其粘贴到emacs中时,%20会显露出来。


哇,这也是我的解决方案。 - user3761308

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接