几天前,我正在使用简单的表单提交,其中文本区域工作正常!我的意思是这些值已成功发送到数据库,包括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,"<").replace(/>/g,">")
然后在服务器端
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
,并且可以做所需的事情来解析它。