Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在服务器端读取多行文件,并通过ajax响应将行发送到浏览器_Javascript_Php_Ajax_String_File - Fatal编程技术网

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

Javascript 在服务器端读取多行文件,并通过ajax响应将行发送到浏览器,javascript,php,ajax,string,file,Javascript,Php,Ajax,String,File,我正在尝试将多行文件(如日志文件)从服务器端发送到浏览器(如报表)。当服务器只响应一行时,我没有问题,但当它响应几行时,命令eval(function(“str”))调用错误:未捕获语法错误:意外令牌非法 文件如下所示: 10:00:00-启动程序 10:00:10-开始执行 10:00:11-启动Blalbla 10:00:14-启动Blalbla2 10:00:15-停止所有blalbla 所以我做了一个循环,把所有的字符串累加起来 $strOut .= $content[$i]; 我甚

我正在尝试将多行文件(如日志文件)从服务器端发送到浏览器(如报表)。当服务器只响应一行时,我没有问题,但当它响应几行时,命令eval(
function(“str”)
)调用错误:未捕获语法错误:意外令牌非法
文件如下所示:

10:00:00-启动程序
10:00:10-开始执行
10:00:11-启动Blalbla
10:00:14-启动Blalbla2
10:00:15-停止所有blalbla

所以我做了一个循环,把所有的字符串累加起来

$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”)
,但它之前调用了一个错误




编辑:我的临时答案是创建单独的函数以避免评估。现在它工作了,但不是我想要的,而是工作了。

如果您想使用\n作为新行分隔符,您需要使用双引号来解释为新行-“\n”。

您尝试过nl2br吗?为什么在响应时调用
eval
?响应是JSON吗?你最后想做什么?将日志单独打印到浏览器?@Syed Qarib-刚刚尝试但没有结果我想在文本区域打印它们OOO OK如果你需要在eval中应用新行try'\\n'(PHP部分中有两个反斜杠和单引号)在询问之前,我尝试了很多变体,但不起作用我的测试与此代码配合得很好:eval('document.getElementById(“tmp”).innerHTML=“test\\ntest””);我认为您的代码工作得很好,因为您现在在textArea rigth中添加了它。在我的情况下,我使用params(如str和status)调用函数。当我在firebug多行变量中使用“\n”或“\r\n”时,我尝试使用“\n”并在js中拆分它,但在与eval一致之前它停止了(funct(str,status));我甚至尝试在没有新行的情况下调用-只有一个字符串,但在这里我出现了错误。我不知道为什么。可能对eval来说很困难。我必须向eval发送更简单的字符串。但当我在没有eval的情况下复制函数时,它起了作用。