1

我有一个表单中的文本区域,我希望它成为一个完全免费的测试字段,供用户添加任何文本,包括 url 等。

然后,此文本区域的内容将作为 ajax/json 传递给 C# webmethod,然后添加到 sql 数据库中。

在用户添加撇号和/或一些其他重音字符并且我认为斜线等之前,这非常有效。我知道撇号是一个问题,与大多数人对其他类似问题的评论相反,就好像我将它删除了 json 作品一样。

我尝试在斜杠上简单地替换()并且它可以工作(但我对其他字符(如 \ 也阻止 json 工作)感到困扰)。

我可以做的是一种过滤(转义)任何会破坏json('或\等)的东西的方法,并且如果添加了url,还处理一个url,以及c#在boud事件上从db恢复它griview的

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 回答