Javascript 如何在URL中传递#符号作为GET查询字符串的一部分?
我使用javascript(使用jquery)通过AJAX调用将#符号作为GET参数传递 现在的问题是#符号正在打断我的查询字符串Javascript 如何在URL中传递#符号作为GET查询字符串的一部分?,javascript,jquery,ajax,get,query-string,Javascript,Jquery,Ajax,Get,Query String,我使用javascript(使用jquery)通过AJAX调用将#符号作为GET参数传递 现在的问题是#符号正在打断我的查询字符串 谢谢你的帮助。谢谢 使用encodeURIComponent()。必须使用转义、encodeURIComponent函数等对url进行编码才能传递该字符。这将把字符转换为它们的%计数器部分。例如,#将是%23您需要在字符串中将其替换为%23。但是,您应该使用Javascript函数encodeURIComponent对URL中的字符进行编码,而不是直接执行此操作 或
谢谢你的帮助。谢谢 使用encodeURIComponent()。必须使用转义、encodeURIComponent函数等对url进行编码才能传递该字符。这将把字符转换为它们的%计数器部分。例如,#将是%23您需要在字符串中将其替换为
%23
。但是,您应该使用Javascript函数encodeURIComponent
对URL中的字符进行编码,而不是直接执行此操作
或者,如果使用jQuery.ajax,则可以通过
数据
选项将参数传入,从而自动对参数进行编码。如果将数据参数传入jQuery.ajax,jQuery将为您进行编码。您不应该试图自己构建URL
$.ajax({ url : "http://myserver.com/mypage.aspx",
data : {'key1' : 'value#', 'key2' : 'value&&'}
...
});
encodeURIComponent()优于escape(),因为ecape会损坏ISO-8859-1中未包含的UTF-8字符。