Javascript 如何在URL中传递#符号作为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中的字符进行编码,而不是直接执行此操作 或

我使用javascript(使用jquery)通过AJAX调用将#符号作为GET参数传递

现在的问题是#符号正在打断我的查询字符串


谢谢你的帮助。谢谢

使用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字符。