1

以下のコードで; htmlコードを含む「div」の内容を取得し、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サーバーでは無視されます。これを修正するには、encodeURIComponent()関数を使用してクライアント側で(JavaScriptコードで)エスケープしてから、サーバーでエスケープを解除する必要があります。

于 2012-11-08T09:28:51.533 に答える
1

これは、# がページ内のアンカーを定義するためのものであるため、削除されます... GET の代わりに POST を使用することをお勧めします。これにより、問題が修正され、さらに防止されます。それでもGETに入れたい場合は、次のようにします。

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