【发布时间】:2010-01-21 18:21:25
【问题描述】:
我正在使用 javascript(使用 jquery)通过 AJAX 调用将 # 符号作为 GET 参数传递。
现在的问题是 # 符号正在破坏我的查询字符串。
任何帮助表示赞赏。谢谢!
【问题讨论】:
标签: javascript jquery ajax get query-string
我正在使用 javascript(使用 jquery)通过 AJAX 调用将 # 符号作为 GET 参数传递。
现在的问题是 # 符号正在破坏我的查询字符串。
任何帮助表示赞赏。谢谢!
【问题讨论】:
标签: javascript jquery ajax get query-string
您需要将其替换为字符串中的%23。但是,您应该使用 Javascript 函数 encodeURIComponent 对 URL 中的字符进行编码,而不是直接执行此操作。
或者,如果您使用 jQuery.ajax,您可以通过 data 选项传入参数来自动编码参数。
【讨论】:
如果您将数据参数传递给 jQuery.ajax,jQuery 会为您进行编码。您不应该尝试自己构建 URL。
$.ajax({ url : "http://myserver.com/mypage.aspx",
data : {'key1' : 'value#', 'key2' : 'value&&'}
...
});
【讨论】:
使用 encodeURIComponent()。
【讨论】:
您必须使用转义、encodeURIComponent 函数等对 url 进行编码以传递该字符。这会将字符变成他们的 % 对应部分。例如,# 将是 %23
【讨论】: