我在Chrome上出现“SyntaxError:意外 token 非法”错误。

<?
$data = "this is description
         new line";
?>

$(".gantt").gantt({
  desc: "<? echo $data; ?>"
});

错误介于“这是说明”和“换行”之间。为什么我不能在其中使用Enter?有办法避免这种情况吗?

最佳答案

JavaScript字符串中不能包含(未转义)新行。

您正在输出:

$(".gantt").gantt({
  desc: "this is description
         new line"
});
description之后的新行无效。

您需要json_encode您的值(是的,json_encode也适用于纯字符串)。
$(".gantt").gantt({
  desc: <? echo json_encode($data); ?>
});

请注意,我删除了引号。 json_encode将为您添加引号。

08-27 16:50