1

ユーザーがURLなどを含む任意のテキストを追加するための完全に無料のテストフィールドになりたいフォームにテキストエリアがあります。

このテキスト領域の内容は、ajax/json として C# webmethod に渡され、SQL データベースに追加されます。

これは、ユーザーがアポストロフィおよび/またはその他のアクセント付きの文字を追加するまでうまく機能し、スラッシュなどと思います。アポストロフィは、他の同様の質問に対するほとんどの人のコメントに反する問題であることを知っています。

スラッシュで単に replace() を試してみましたが、動作します(ただし、json の動作を妨げる \ などの他の文字が気になります)。

私ができることは、json( 'または\など)を壊すものをフィルタリング(エスケーピング)する方法であり、追加された場合はURLを処理し、c#もboudイベントでdbから元に戻す方法ですグリビューの

4

3 に答える 3

1

JSON2 の stringify メソッドを使用できます。

例:

<textarea id="txtInput"></textarea>
<div id="submit">Submit</div>

<script src="/Scripts/jquery-1.7.1.js" type="text/javascript"></script>
<script src="/Scripts/json2.min.js" type="text/javascript"></script>
<script>
  $('#submit').click(function () {
    var inputData = $('#txtInput').val();

    var jsonData = {}
    jsonData.input = inputData;
    jsonData.otherStuff = 1;

    var validJson = JSON.stringify(jsonData);

    alert(validJson);
  });
</script>
于 2013-06-04T14:01:22.977 に答える
0

これらを試してください

HttpServerUtility.UrlEncode()
Uri.EscapeUriString()
于 2013-06-04T13:28:12.010 に答える
0

encodeURI()encodeURIComponent()

于 2013-06-04T13:28:32.143 に答える