javascript - 语法错误: unterminated string literal with JSON array

标签 javascript json

所以我有...

 var newfavz = 'Array (


[0] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]
[1] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]
[2] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]

)
';

在我的 console.log 上,但不知何故存在语法错误:未终止的字符串文字。我环顾四周并尝试了诸如 str_replace "/"与 "//"之类的方法或像 .replace(/^/+/g, ''); 这样的正则表达式;因为 JavaScript 似乎不允许将字符串分成多行或类似的东西。

这一切都是从像这样的 SQL 查询开始的......

$favurl = [];
$favquery = "SELECT * FROM userfavs WHERE users = '$username'";
$favresult = mysqli_query($conn, $favquery);

while($row = mysqli_fetch_assoc($favresult)) {

array_push($favurl, $row['fav_id']);

后来我就这么做了

var newfavz = <?php print_r ($favurl); ?>

这导致了上述情况。

有什么办法可以解决语法错误吗?谢谢!

最佳答案

因为js中不允许多行字符串:

"A
 B"

是一个语法错误。您可以删除所有换行符并将其替换为\n,或者使用模板文字:

`A
 B`

在您的代码中:

var newfavz =` <?php print_r ($favurl); ?>`;

关于错误就这么多。但是该字符串仍然无法使用,需要对其进行解析。查看 JSON 或编写您自己的小解析器。

关于javascript - 语法错误: unterminated string literal with JSON array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45526316/

相关文章:

javascript - 无法使用 AngularJS 指令更改 $templateCache 中的属性

javascript - 如何只输出返回的JSON的字符串输入?

json - golang - 解码动态 'flat' http-json 响应

javascript - JS变量转PHP转Mysql查询

java - 如何使用 Java 获取 JSON 中的 int 值?

javascript - 为什么我不能在 JSX 中以这种方式使用三元运算符和箭头函数?

javascript - Mysql Escape()时防止单引号

javascript - socket.io 房间为每个客户端重复相同的消息

javascript - webGL2 片段着色器收到错误值

c# - 格式 FLOAT/DOUBLE 问题的 LitJSON 库