当您通过 javascript 拉取文本时,如何在文本区域中保持文本 \r\n 格式
How to keep text \r\n formatting on a textarea when you pull the text via javascript
长话短说,我有一个文本区域,我想使用适当的换行符保留格式。我通过以下 javascript 调用获取文本区域的值。
var letterText = document.getElementById("cnl-lettertext").value;
之后,我通过 Ajax 调用发送它,然后 api 将其保存到数据库中。出于某种原因,当我设置它时,我似乎无法让它在变量中保留 \r\n 个字符或换行符。
我试过在我的 css 上设置 white-space: pre 但这似乎不起作用。我也不想只使用 .replace,因为这会破坏其他功能。
ajax 通话:
$.ajax({
url : url, //url is built dynamically for a rest api.
timeout : 5000,
dataType : "json",
statusCode : { },
success : function(data) {
}
});
当您向带有换行符的 URL 发送请求时,浏览器将删除那些不 URL 兼容的换行符。它们需要编码。
您可以使用 encodeURIComponent
手动执行此操作,但由于您使用的是 jQuery,请充分利用它,并使用 data
选项以正确的方式传递查询参数.它们将被 jQuery:
正确编码
$.ajax({
url : 'https://www.example.com/endpoint', // don't add query params here
timeout : 5000,
dataType : "json",
data: { // Add them here, they will be encoded automatically
letterText: letterText,
// ...
},
statusCode : { },
success : function(data) {}
});
长话短说,我有一个文本区域,我想使用适当的换行符保留格式。我通过以下 javascript 调用获取文本区域的值。
var letterText = document.getElementById("cnl-lettertext").value;
之后,我通过 Ajax 调用发送它,然后 api 将其保存到数据库中。出于某种原因,当我设置它时,我似乎无法让它在变量中保留 \r\n 个字符或换行符。
我试过在我的 css 上设置 white-space: pre 但这似乎不起作用。我也不想只使用 .replace,因为这会破坏其他功能。
ajax 通话:
$.ajax({
url : url, //url is built dynamically for a rest api.
timeout : 5000,
dataType : "json",
statusCode : { },
success : function(data) {
}
});
当您向带有换行符的 URL 发送请求时,浏览器将删除那些不 URL 兼容的换行符。它们需要编码。
您可以使用 encodeURIComponent
手动执行此操作,但由于您使用的是 jQuery,请充分利用它,并使用 data
选项以正确的方式传递查询参数.它们将被 jQuery:
$.ajax({
url : 'https://www.example.com/endpoint', // don't add query params here
timeout : 5000,
dataType : "json",
data: { // Add them here, they will be encoded automatically
letterText: letterText,
// ...
},
statusCode : { },
success : function(data) {}
});