0

以下に示すように、JQuery.post()を使用してサーバーにデータを投稿しています。サーバー側で投稿データを受け取ったとき、投稿変数にすでに単一のアポストロフィがhtml番号に変換されている(つまり、'がに置き換えられている)ことに驚いています'。これはどのように起こっていますか?変換はJquery.post()で行われますか?これに関するドキュメントが見つかりません。

$("#save").click(function(event) {
    event.preventDefault();

    var postdata = "id="+id+"&note="+$("#note").val();

    $.post("save_note.php", postdata, function(data){
    $('#save_status').text(data);
    });
});
4

3 に答える 3

0

それはまったく起こりません。

考えられる理由は、値を読み取って postdata 文字列に入れる前に、値が既に HTML エンコードされていることです。

于 2012-04-16T14:58:17.107 に答える
0

次のいずれかを行う必要があります。

  • エンコードURIコンポーネント
  • 次のように、jquery の方法 (少なくとも 1 つ) のフォームのserialize()メソッド:

    $("#save").click(function(event) {
      event.preventDefault();
    
      var $form = $(event.target).closest('form');
      //var postdata = "id="+id+"&note="+$("#note").val();
    
      $.post($form.attr('method'), $form.serialize(), function(data){
      $('#save_status').text(data);
      });
    });
    

これが役立つことを願っています。

于 2012-04-16T14:58:43.477 に答える
0

それはWebブラウザで起こっています。

値を確認してください$("#note").val()- HTML DOM に挿入されるフォーム フィールドに何かを入力するときは、隠れていることを覚えておいてください。

于 2012-04-16T15:01:46.157 に答える