2011-07-11 10 views
1

POSTメソッドでjQuery ajaxを使用して ">"記号を含むテキストボックス値を取得しようとしていますが、 ">"記号でテキストボックス値を取得しません。私は解決策を見つけるのに疲れています、誰も私がこの問題を解決するのを助けることができます。jQuery ajax ">"記号の問題のあるPOSTパラメータ

<div id="subi"><input type="textbox" id="test"><button onClick="sub()">Submit</button></div> 
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> 
<script type="text/javascript"> 
function sub() { 
    var result = { content : $('#test').val() }; 
    alert(result); 
    $.ajax({ 
     url: 'subi.php', 
     type: 'POST', 
     contentType: "application/x-www-form-urlencoded;charset=UTF-8", 
     data: result, 
     dataType: 'text', 
     success: function(html) { 
      $('#subi').html(html); 
     } 
    }); 
} 
</script> 
+0

代わりに何を取得していますか? – Anomie

+0

私が "test> hello> works"を投稿した場合、私は "test hello works"をPHPで取得します。 – Kaartz

答えて

0

実はこのサーバー側を行う必要があります(あなたが呼び出す必要がありますあなたが返す文字列のhtmlenties()は、これが問題であることを確認するだけです。

success: function(html) { 
    $('#subi').html(escape(html)); 
} 
+0

それは働いていない、私を説明させてください。 私はこの値をテキストボックスから投稿します。 "test> hello> how> works"これはファイヤーバグで表示されます "content = test%3Ehello%3Ehow%3Eworks"しかし、PHPでは "test hello how works "私は "htmlentitie"、rawurldecode、 "urldecode"を試してみました。私を助けてください。 – Kaartz

+0

htmlspecialchars関数を試してみましたか?http://php.net/manual/en/function.htmlspecialchars.php – Catfish

+0

htmlentitiesを使用している場合、サーバーサイドはエスケープ(html)ではなく$( '#subi')を使用することを忘れないでください。 (html); –