1

URL を介していくつかのデータを保存していますが、これらのデータ要素の 1 つはテキストです。ハッシュタグ付きのメモを保存して保存できるようにしたい。たとえば、「私は #yolo を信じています」を保存できるようにしたいのですが、(php を使用して) 保存し、javascript で再度取得すると、「私は信じています」と表示されます。とにかく、その #yolo を取り戻すことができますか? str_replace を使用してみましたが、正規表現が間違っている可能性があります。

助けてくれてありがとう!

    function dropsuccess() {
        answerArray = [];
        answerArray.id = Math.round(new Date().getTime() / 1000);
        answerArray.text = document.getElementById("boglory").value;
        $.getJSON("saveBlade.php?id="+answerArray.id+"&text="+answerArray.text,
        function(data) {
            if (data.hasOwnProperty("error")) {
                alert(data.error);
                } else {
                    $("#handle").animate({marginTop:"100%"},800, 
                    function() {
                        document.getElementById("handle").style.display = "none";document.getElementById("bladecontainer").style.display = "none";$('#qod').fadeIn('medium');
                    });     
            }
        });     
    }

answerArray.text には、渡されるテキストが含まれます。例 (「私は #yolo を信じています。」) #yolo は文字列であり、div-id タグではありません。

4

1 に答える 1

1

問題は#、アンカーへのジャンプを示すための URL の予約文字です。

あなたはそれを逃れる必要があります。getJSON 関数で data 引数として指定すると、JQuery は必要なすべての文字を自動的にエスケープします。

$.getJSON("saveBlade.php",
  {
    id: answerArray.id,
    text: answerArray.text
  },
  function(data) {

詳細はこちら

于 2013-01-27T21:30:35.280 に答える