1

几天前,我正在使用简单的表单提交,其中 textarea 工作正常!我的意思是这些值已成功发送到数据库,包括\n. 使用时@Html.Raw()string.Replace()我能够得到\nto <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与其他数据一起传递?这样我就可以在我想显示的时候获得这些值?

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

4

2 回答 2

2

我认为你应该这样做

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);

然后使用它

于 2013-09-14T17:58:00.210 回答
0

您可以在通过 ajax 调用发送时转义\nto 。\\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在服务器端接收到,并且可以做一些需要的东西来解析它。

于 2013-09-14T18:03:50.080 回答