在下面的代码中;它获取“div”的内容包括html代码,并保存在ajsave.php。但是当div html内容包含“#”字符时,数据会在“#”之后缩短,如下所示:
$.ajax({
type: "GET",
url: "ajsave.php",
data: "usr="+id+"&divcontent="+cont,
success: function(msg){
$("#result").html(msg);
}});
答案 0 :(得分:2)
在URL中,#
字符用于指定锚点 - 您要将页面移动到的页面的一部分 - 因此Web服务器会忽略该字符。为了解决这个问题,您需要使用encodeURIComponent()
函数在客户端(在您的JavaScript代码中)将其转义,然后在服务器上对其进行转义。
答案 1 :(得分:0)
这是因为#是在页面中定义锚点以便将其删除...我建议您使用POST而不是GET,它会纠正您的问题并防止更多问题。如果您仍想在GET中使用它,请执行以下操作:
cont = cont.replace("#","%22");