0

私のウェブページには簡単なメッセージ システムがあります。めったに変化しないことがあります (そのため、エラーを再現できません)。jquery がメッセージ テキストを台無しにしています。

これは、エラーが発生するまれなテキストの例の 1 つです。

*ウィルクリフ? sehr cool :) und wie organisiert du das dann immer? Schon alles geplant oder wie es dir grad einfälltjQuery172010423805089564042_1347537302675 und wie lange bist du da dann immer unterwegs?*

この文字列はテキストに含めるべきではありません -> jQuery172010423805089564042_1347537302675

エラーは、メッセージ履歴の設定 -> テキストエリアからのテキストの抽出 -> ajax 経由でサーバーにテキストを送信する間のどこかで発生する必要があります...

誰かがアイデアを持っていますか?

// The part where I set the text history.
$('#msgwriter_text').val($("<div/>").html('\n' + '\n' + '\n' + old_date + '\n' + old_text).text());

// the part where the new text gets extracted from the textarea.
var text = $('#msgwriter_text').val();

// text will be stored in the database via ajax call
$.ajax ({
    type: "POST",
    url: "ajax/ajax_special_functions.php",
    data: data_string,
    dataType: "json",
    success: function(recive_obj) {

        // Some more code...
    }
});

最後に、エラーの原因を発見しました!この奇妙な文字列は、テキストに少なくとも 2 つの疑問符が一緒にある場合に追加されます -> ??

さて、私の次の質問は、その問題を解決する方法です!? 明らかに、ajax関数の設定を編集して問題を解決することはできません-キャッシュがfalseかtrueかは問題ではありません...

最良の解決策は、 str.replace を正規表現に置き換えて、 ? がないことを保証することだと思います。並んで...

4

1 に答える 1

0

old_dateとの値を確認してみてくださいold_text 。また、2 行のコードで行う必要はありません。データを取得するだけであれば、1 行のコードで取得できます。 var text = '\n' + '\n' + '\n' + old_date + '\n' + old_text;

于 2012-09-13T13:32:17.670 に答える