换行符在ajax中返回json,eval时发生的 Unexpected token ILLEGAL
2016-03-26 15:47
477 查看
用户如果输入了换行在数据中记录为‘空格’,但不是真正的空格。
程序前台采用ajax和json返回数据绑定时会 出现 Unexpected token ILLEGAL
例子:
在sql中存储为下图
在“)”与“导”,"林"与"pet"之间实际保存的是换行符。
在eval时就会出现Unexpected token ILLEGAL。经验告诉我们Unexpected token ILLEGAL 就是一些格式、标签、语法等一些的不正确,不完整
我们在调试的浏览器中点击错误后面的**.js进去,看到的json没问题。别急,我们把json复制出来。
在bejson网站格式化一下,格式化也没问题。通过了。
问题出在哪呢,仔细看,你会发现在“)”与“导”,"林"与"pet"之间多了\n——文本换行符。
它就是罪魁祸首。
OK,找到了问题,我们就解决它,方法很简单
在存储过程中replace掉
你的字段为varchar:REPLACE( 字段名, CHAR(10), '<br/>') AS [别名]
你的字段为text,ntext:REPLACE(CONVERT(VARCHAR(MAX), 字段名), CHAR(10), '<br/>') AS [别名]
程序前台采用ajax和json返回数据绑定时会 出现 Unexpected token ILLEGAL
例子:
在sql中存储为下图
在“)”与“导”,"林"与"pet"之间实际保存的是换行符。
$.ajax({ url: '', type: 'POST', data: { }, dataType: 'text', success: function (dt) { eval("dt=" + dt); }, error: function () { } });
在eval时就会出现Unexpected token ILLEGAL。经验告诉我们Unexpected token ILLEGAL 就是一些格式、标签、语法等一些的不正确,不完整
我们在调试的浏览器中点击错误后面的**.js进去,看到的json没问题。别急,我们把json复制出来。
在bejson网站格式化一下,格式化也没问题。通过了。
问题出在哪呢,仔细看,你会发现在“)”与“导”,"林"与"pet"之间多了\n——文本换行符。
它就是罪魁祸首。
OK,找到了问题,我们就解决它,方法很简单
在存储过程中replace掉
你的字段为varchar:REPLACE( 字段名, CHAR(10), '<br/>') AS [别名]
你的字段为text,ntext:REPLACE(CONVERT(VARCHAR(MAX), 字段名), CHAR(10), '<br/>') AS [别名]
ps: char(10)换行键 \n char(13)回车键 \r
相关文章推荐
- javascript实现方法调用与方法触发小结
- js函数节流
- js-全局变量与局部变量
- JS实现滚动监听以及滑动到顶部
- podspec转podspec.json
- 小议json与数组的区别
- 笔记-JS中常见的数据运算
- JS魔法堂:从void 0 === undefined说起
- js闭包
- JavaScript arguments对象
- jsp中java代码、jsp代码、js代码执行的顺序
- JSP
- js中设置显示和隐藏
- js中this指向总结
- js删除数组里的某个元素
- JavaScript语法基础
- 关于jsp与servlet作用域
- js note
- javascript Date format(js日期格式化)
- VC与JavaScript交互(三) ———— JS调用C++