javascript - 通过javascript提取文本时如何在textarea上保留文本\r\n格式
问题描述
长话短说,我有一个文本区域,我想用正确的换行符保留格式。我通过以下 javascript 调用获取文本区域的值。
var letterText = document.getElementById("cnl-lettertext").value;
之后,我通过 Ajax 调用和 rest api 将其发送到数据库中。由于某种原因,当我设置它时,我似乎无法让它在变量中保留 \r\n 字符或换行符。
我已经尝试在我的 css 上设置 white-space: pre ,但这似乎不起作用。我也不想只使用 .replace ,因为这会破坏其他功能。
阿贾克斯调用:
$.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) {}
});
推荐阅读
- python - 如何查询数组以从键中检索值,MongoDB?
- css - 闪亮仪表板中html标签和css样式表之间的区别
- javascript - Google MailApp 脚本上的静态 cc 问题
- r - 具有不同原假设的 R 回归
- html - 如何阻止图标刷新
- c++ - 文件在第二次打开时指向缓冲区的结尾(我猜)
- python - 在 Heroku ModuleNotFoundError 上托管 Flask 应用程序时出错:没有名为“pytrends”的模块
- c - 如何克服字符串连接中的未定义行为?
- javascript - 在 NodeJS 中为垃圾收集“标记”一个对象
- c++ - 如果字符串中有'-',如何删除字符串中的前2个字符