在服务器端读取多行文件,并通过ajax响应将行发送到浏览器

时间:2014-07-01 08:16:33

标签: javascript php ajax string file

我尝试将多行文件(如日志文件)从服务器端发送到浏览器(如报告)。当服务器只响应一行时我没有问题,但是当它响应多行时命令eval(function("str"))调用错误:未捕获语法错误:意外标记ILLEGAL
文件是这样的:

10:00:00 - 启动程序
10:00:10 - 开始执行
10:00:11 - 开始blablalbla
10:00:14 - 开始blablalbla2
10:00:15 - 停止所有blablalbla

所以我制作一个循环并累积所有字符串

$strOut .= $content[$i];

我甚至添加了

. '\n';

但没有结果。在调试器中,我在php和javascript中看到响应字符串,但是当我调用eval(request.responseText)时,我收到上面的错误。
这是一个响应的字符串:

"myFunction('10:00:00 - Start program10:00:10 - Start execution10:00:11 - Start blablalbla10:00:14 - Start blablalbla210:00:15 - Stop all blablalbla')"

如果我在每次循环后添加了' \ n' ,我就得到了这个:

"myFunction('10:00:00 - Start program\n10:00:10 - Start execution\n10:00:11 - Start blablalbla\n10:00:14 - Start blablalbla2\n10:00:15 - Stop all blablalbla')"

然后在代码split("\n")中,但它之前调用错误。



编辑:我的临时答案是创建单独的功能,以避免eval。现在它有效,但不是我想要的,但是有效。

1 个答案:

答案 0 :(得分:0)

如果要将\ n用作新行分隔符,则需要使用双引号将其解释为新行 - " \ n"。