解决MySQL数据赋给JS变量报unterminated string literal错误
作者:沧海时间:2026-10-25 06:55:20浏览:187
本文分析将MySQL文本数据直接赋值给JavaScript变量时,因包含\r\n换行符导致火狐浏览器报unterminated string literal错误的原理。通过服务器端使用str_replace移除换行符,可有效解决该字符串未终止问题,确保前端脚本正常执行。
MySQL数据赋给JS变量报错原因分析
当从MySQL数据库中读取包含文本字段的数据,并将其直接赋值给JavaScript变量时,可能会遇到字符串解析问题。
具体实现代码如下所示:
<script type="text/javascript">var strs="苏润葡萄种植园依托沪宁高速和扬溧高速两大交通走廊,紧邻镇荣公路上党镇薛村段,离镇江市仅20公里,交通便利苏润葡萄种植园引进新品种、
新工艺、新技术和现代经营管理体制,采用大棚种植。目前主要品种有五个:夏黑、美人指、贵公子、黄蜜、金手指。苏润葡萄种植园还 ...";
document.write(strs);</script>服务器端解决字符串未终止错误
在火狐浏览器中运行上述代码时,始终会抛出unterminated string literal(字符串未终止)错误。将这段文本复制到TXT文件中查看,发现出现了几个黑方块。这是因为数据中包含了MySQL的换行标记\r\n,而在TXT文件中由于双字节编码无法正确显示这些控制字符,因此显示为两个黑方块。
解决方法:在服务器端返回该数据之前,执行字符串替换操作,将换行符\r\n移除。
$value=str_replace("\r\n","",$value)
作者最新文章
Cube.js连接PostgreSQL或MySQL数据库的配置方法
2026-11-03 11:35:58
Node.js 实现 SQL 模糊查询的完整流程与转义处理
2026-10-31 14:58:16
微信小程序多张照片上传与展示实现详解
2026-10-31 12:38:27
Web全栈选JavaScript,数据处理选Python:怎么根据项目类型匹配语言
2026-10-30 18:38:37
JavaScript中SQL语句的应用实现
2026-10-24 21:23:01
