`
段海波
  • 浏览: 318358 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql输出数据赋给js变量报unterminated string literal错误原因

    博客分类:
  • JS
阅读更多

最近在写项目的时候需要异步从后台数据库(mysql)中读取若干信息,然后在页面进行显示。大部分数据都可以正常读取,但是有一部分数据读取不出来,通过用火狐浏览器的firedebug进行调试,发现错误原因是:unterminated string literal

网上找了一下,发现出此错误的哥们还不少,试着用他们的方法还真把问题给解决了。导致此错误是因为mysql中的\r\n字符串js识别不了,没法进行解析。解决办法就是在后台把要解析的字符串中的\r\n替换掉

 

解决方法如下:

asp:
str=replace(str,vbcrlf,"",1,-1,1)

php:
$str = str_replace("\n", "", $str);
$str = str_replace("\r", "", $str);

然后再进行document.write(str)输出。

注:

jsp的对应函数:

public static final String htmlToCode(String s)
{
if(s == null)
{
return "";
} else
{ s = s.replace("\n\r", "<br>&nbsp;&nbsp;");
s = s.replace("\r\n", "<br>&nbsp;&nbsp;");//这才是正确的!
s= s.replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;");
       s =s.replace(" ", "&nbsp;");
   
    s=s.replace("\"", "\\"+"\"");//如果原文含有双引号,这一句最关键!!!!!!
return s;
}
}  

如果这样写报错

 

s = s.replace("\n\r", "<br>&nbsp;&nbsp;");
s = s.replace("\r\n", "<br>&nbsp;&nbsp;");//这才是正确的!
s= s.replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;");
       s =s.replace(" ", "&nbsp;");

    s=s.replace("\"", "\\"+"\"");//如果原文含有双引号,这一句最关键!!!!!!

不加最后一句就会无法判断双引号报错,注意最后一句是用\"替换“,但是注意转义字符写法!!!

 


这是普通的解决方法,另外一种保留回车的方法

 

先将\r\n替换为<br>,然后再将\r与\n替换掉,而不是简单的舍弃为‘’。

function   my_nl2br($s)  
  {  
  return   str_replace("\n",'<br>',str_replace("\r",'<br>',str_replace("\r\n",'<br>',$s)));  
  }

分享到:
评论

相关推荐

    Steema TeeChart Pro VCL FMX Source Code 2020.29_修正版.rar

    VCLTee.TeeConst.pas(612) Error: E2066 Missing operator or semicolon VCLTee.TeeConst.pas(612) Error: E2066 Missing operator or semicolon VCLTee.TeeConst.pas(612) Error: E2052 Unterminated string VCLTee...

    汇编语言实现简单加减乘除计算器

    这需要理解输入/输出(I/O)处理,以及如何在内存中存储和检索数据。 4. **控制流程**:计算器需要根据用户输入的运算符来决定执行哪种运算。这涉及到条件分支(如JNZ、JE等)和循环(如LOOP、jecxz等)等控制结构...

    Turbo C2[1].0常见错误信息列表

    10. **错误:#145 - Unterminated string constant** 你的字符串常量没有正确关闭,可能忘记了双引号。检查字符串,确保每个开始的双引号都有对应的结束双引号。 11. **错误:#149 - Type mismatch in ...

    json-syntax-error:这是一个小型中间件,可以解决您的快速应用程序中的语法错误

    解决语法错误中间件可帮助您解决快递服务器中的语法错误厌倦/担心在无效的JSON数据被迫吞咽时看到服务器抛出语法错误? &lt;!DOCTYPE html &gt;&lt; html lang =" en " &gt;&lt; head &gt;&lt; meta charset =" utf-8 ...

    初学者在调试程序遇到的错误小结

    "初学者在调试程序遇到的错误小结" 本文总结了初学者在使用 Eclipse 和 Java 以及 Spring 框架时遇到的常见错误,并提供了相应的解决方案。 一、数据库方面的错误 * 出现 DataAccessException 这样的错误,一般是...

    JSMin(javaScript文件压缩)

    fprintf(stderr, "Error: JSMIN unterminated string literal."); exit(1); } } } case 3: theB = next(); if (theB == '/' && (theA == '(' || theA == ',' || theA == '=' || theA == ':' || theA == '['...

    Unexpected token c in JSON at position 0 报错信息及解决

    在编程过程中,我们可能会遇到各种错误,其中"Unexpected token c in JSON at position 0"是一个常见的JavaScript解析错误,通常发生在尝试使用`JSON.parse()`函数解析一个预期为JSON格式的字符串时,但该字符串实际...

    struts2 标签库 帮助文档

    3. &lt;s:sort comparator=""&gt;&lt;/s:sort&gt;-----通过属性给list分类 4. &lt;s:submit&gt;&lt;/s:submit&gt;-----提交按钮 5. &lt;s:subset&gt;&lt;/s:subset&gt;-----为遍历集合输出子集 T: 1. &lt;s:tabbedPanel id=""&gt;&lt;/s:tabbedPanel&gt;----...

    读取文件中的带引号的(" ")中的字符串

    System.out.println("Unterminated quoted string: " + line.substring(startIndex)); break; // 如果没有找到结束引号,可能需要额外处理 } } line = line.substring(startIndex + 1); } } } ``` 这段代码...

    H9TQ32A4GTMCUR_Rev0.1.pdf

    - 在读取操作中,数据输出与数据选通脉冲的边缘对齐。 - 在写入操作中,数据输入与数据选通脉冲的中心对齐。 - **DM掩码**:在读写操作期间,在时钟的上升沿和下降沿上,DM掩码控制写入的数据。 #### 总结 "H9TQ...

    PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】

    $mysql = new SimpleXMLElement('&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;mysql&gt;&lt;/mysql&gt;'); $host = $mysql-&gt;addChild("host", "127.0.0.1"); $host-&gt;addAttribute("note", "localhost"); // ... 添加其他元素...

    C++出错提示英汉对照表

    Error writing output file ---------------------写输出文件错误 Expression syntax error -----------------------表达式语法错误 Extra parameter in call ------------------------调用时出现多余错误 File ...

    Java replaceAll()方法报错Illegal group reference的解决办法

    然而,如果使用不当,可能会遇到`Illegal group reference`的错误。这个错误通常发生在替换字符串中包含了一个未定义的正则表达式组引用,即`$`后面跟着的数字没有对应的括号分组。 正则表达式中的括号`(`和`)`用于...

    用于容器的 Foreach.Map:提供迭代映射项的可能性-matlab开发

    Matlab 提供地图/字典(键值存储数据类型)的功能。 迭代地图可能很麻烦,这就是 foreach 的步骤。 使用resultmap = foreach(map, fctH) 对地图的每个项目调用函数句柄 fctH。 结果存储在与原始映射具有相同键的...

    AN-0903.pdf

    随着现代电子设备对数据传输速率及距离需求的不断提高,传输线的终端匹配成为了设计工程师必须重视的关键环节。不当的终端匹配可能导致信号反射、损耗增大以及整体系统性能下降。本文将深入探讨在差分信号通过双绞线...

    能过滤注释的词法分析程序

    这些token可以是关键字(如`if`、`else`)、标识符(自定义变量名或函数名)、常量(整数、浮点数、字符串)、运算符(`+`、`-`、`*`、`/`)以及分隔符(逗号、分号等)。在C语言中,空格和注释通常不被视为有意义的...

    差分驱动分析

    ### 差分驱动分析 #### 一、概述 在电子设计领域,差分信号传输是一种广泛采用的技术,尤其是在高速信号处理系统中。差分信号利用两根导线上的电压差来表示信号,这种...这对于高速通信、数据处理等领域至关重要。

Global site tag (gtag.js) - Google Analytics