我正在使用javascript(使用jquery)通过AJAX调用将#符号作为GET参数传递。
现在的问题是#符号正在分解我的查询字符串。
任何帮助表示赞赏。谢谢!
答案 0 :(得分:6)
您需要在字符串中将其替换为%23
。但是,不应直接执行此操作,而应使用Javascript函数encodeURIComponent
对URL中的字符进行编码。
或者,如果您使用的是jQuery.ajax,则可以通过data
选项传入参数来自动编码参数。
答案 1 :(得分:4)
如果要将data参数传递给jQuery.ajax,jQuery会为您执行编码。您不应该尝试自己构建URL。
$.ajax({ url : "http://myserver.com/mypage.aspx",
data : {'key1' : 'value#', 'key2' : 'value&&'}
...
});
答案 2 :(得分:2)
使用encodeURIComponent()。
答案 3 :(得分:1)
您必须使用escape,encodeURIComponent函数等对url进行编码以传递该字符。这会将角色变成他们的%对手。例如,#将是%23