博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Extjs 无法decode 带有 \n 的字符串
阅读量:6606 次
发布时间:2019-06-24

本文共 686 字,大约阅读时间需要 2 分钟。

我们上次偶然发现了一个问题,我们在一个庞大的项目中,然后按照 spring web flow 走下去,最后一步提交,提交成功,但是回到某个页面上的时候,总是报错,说某个变量 比如var projectInfo,这个变量为null。

后来我们仔细看了下代码,原来是因为这个页面上有个字段是textarea,然后它会支持多行输入,多行也就是\n,然后在extjs看来,它无法对于一个包含\n的字符串进行decode,所以decode的结果就是null

我们实验如下:

(1)Ext.decode一个包含\n的字符串:

这里可以看出decode会失败。

(2)Ext.decode一个不包含\n或者包含吧所有\n都转为\\n之后的字符串:

这里看出decode会成功。

基于这个思路我们就找到正确的解决方法了,我们只需要吧所有'\n'替换成'\\n'就可以了,为此在js代码中:

原来是:

1
var 
projectInfo = Ext.decode(decodeURIComponent(
'${projectInfoJSONData}'
,
true
);

现在改成:

1
var 
projectInfo = Ext.decode(decodeURIComponent(
'${projectInfoJSONData}'
).replace(/\n/g,
'\\n'
),
true
);
本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/1222093,如需转载请自行联系原作者
你可能感兴趣的文章
svs 在创建的时候 上传文件夹 bin obj 这些不要提交
查看>>
mysql-用命令导出、导入表结构或数据
查看>>
Tinkphp
查看>>
EntityFrameworkCore 一对一 && 一对多 && 多对多配置
查看>>
How to temporally disable IDE tools (load manually)
查看>>
Vue.js学习 Item4 -- 数据双向绑定
查看>>
几种排序方式的java实现(01:插入排序,冒泡排序,选择排序,快速排序)
查看>>
server application unavailable
查看>>
eclipse 的小技巧
查看>>
频率域滤波
查看>>
图片存储类型的种类、特点、区别
查看>>
GETTING UP AND RUNNING WITH NODE.JS, EXPRESS, JADE, AND MONGODB
查看>>
求二叉树第K层节点的个数
查看>>
MySQLs数据库建外键时自动跑到缩影处,真奇怪
查看>>
static关键字
查看>>
js 合并多个对象 Object.assign
查看>>
Java 反射机制
查看>>
Unity 碰撞检测中碰撞器与触发器的区别
查看>>
Elasticsearch配置文件说明
查看>>
初识java
查看>>