当表单通过ajax提交时,如何将"enter key value"保存在文本区域中



几天前,我正在使用简单的表单提交,其中文本区域工作正常!我的意思是这些值已成功发送到数据库,包括n.当使用@Html.Raw()string.Replace()时,我能够让n <br />.

我现在面临的问题是正在提交 ajax。并且所有字段值都将发送到下一页并捕获响应!但回应不是我想要的。我的意思是,所有n都不会发送到服务器,因此它们不会与其他文本一起保存,因此不会帮助我在某些时候破坏文本。

我用作Ajax请求的是:

function submitBasic() {
            $.ajax({
                url: "/ajax_requests/update_profile",
                data: "about=" + $("#about").val(),
                success: function (data) {
                    $(".basic-data").html(data);
                }
            });
        }

这会将数据发送到下一页,我尝试使用开发人员工具来了解请求的发送方式。在那里我开始知道n不包括在内。这就是问题所在。

谁能告诉我,我怎样才能n与其他数据一起传递?这样我就可以在想要显示时获得值?

欢迎任何建议!我希望我让你明白我想要什么,如果没有,请在这里发表评论!我会叮叮当当的。

我认为你应该这样做

data: "about=" + $("#about").html().(/n/g, "%5Cn")

旧答案!首先在客户端更改此行代码

data: "about=" + $("#about").val()

自:

data: "about=" + $("#about").html().(/n/g, "<br/>").replace(/</g,"&lt;").replace(/>/g,"&gt;")

然后在服务器端

var recivedData = WebUtility.HtmlDecode(about);

然后使用它

您可以在通过 ajax 调用发送n时转义\n

    function submitBasic() {
        $.ajax({
            url: "/ajax_requests/update_profile",
            data: "about=" + $("#about").val().replace(/\n/g, "\n"),
            success: function (data) {
                $(".basic-data").html(data);
            }
        });
    }

我希望您现在可以在服务器端接收n,并且可以做所需的事情来解析它。