前几天我正在使用简单的表单提交,其中textarea工作正常!我的意思是值已成功发送到数据库,包括\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
与其他数据一起传递?这样我可以在想要展示时获得价值?
欢迎任何建议!我希望我让你理解我想要的,如果不是,请在这里评论!我会clafiy。
答案 0 :(得分:2)
我认为你应该这样做
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);
然后使用它
答案 1 :(得分:0)
您可以通过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
,并且可以做所需的东西来解析它。