1

在下面的代码中;它得到一个“div”的内容,包括 html 代码,并保存在 ajsave.php。但是当 div html 内容包含“#”字符时,数据在“#”之后被缩短,如下所示:

$.ajax({ 
    type: "GET", 
    url: "ajsave.php", 
    data: "usr="+id+"&divcontent="+cont, 
    success: function(msg){
        $("#result").html(msg); 
}});
4

2 回答 2

3

在 URL 中,该#字符用于指定锚点 - 您要将页面移动到的页面的一部分 - 因此会被您的 Web 服务器忽略。为了解决这个问题,您需要在客户端(在您的 JavaScript 代码中)使用该encodeURIComponent()函数对其进行转义,然后在服务器上对其进行转义。

于 2012-11-08T09:28:51.533 回答
1

这是因为 # 用于定义页面中的锚点,因此将其删除...我建议您使用 POST 而不是 GET,它将纠正您的问题并防止更多问题。如果您仍想在 GET 中使用它,请执行以下操作:

cont = cont.replace("#","%22");
于 2012-11-08T09:26:14.617 回答