Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.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变量作为文本';?_Javascript_Php_Symfony_Twig_Fullcalendar - Fatal编程技术网

如何使用';javascript变量作为文本';?

如何使用';javascript变量作为文本';?,javascript,php,symfony,twig,fullcalendar,Javascript,Php,Symfony,Twig,Fullcalendar,很抱歉再次发布此消息,但我在internet上找不到任何有用的内容。 我正在尝试创建一个日历。我正在使用symfony 3并创建它。 因此,在我的twig类中,我创建了一个变量: {% set fff = "" %} 在fff变量中,我添加了一些文本,如{start:“2017-05-17”,title:“从机场接我妈妈”}, 然后我将fff变量传递给JS: <script> var allTasks = {{ fff|json_encode()|raw }}; </

很抱歉再次发布此消息,但我在internet上找不到任何有用的内容。 我正在尝试创建一个日历。我正在使用symfony 3并创建它。 因此,在我的
twig
类中,我创建了一个变量:

{% set fff = "" %}
fff
变量中,我添加了一些文本,如
{start:“2017-05-17”,title:“从机场接我妈妈”},
然后我将
fff
变量传递给JS:

<script>
    var allTasks = {{ fff|json_encode()|raw }};
</script>
当我在示例中使用类似的代码时,效果很好,但当我尝试执行以下操作时:

$(function(){
    $('#calendar').fullCalendar({
        events: [
            allTasks, //this variable is equal to "{start: "2017-05-17", title: "Take my mom from airport"},"
        ],
     });
 });
这对我来说毫无意义。甚至日历也从我的网页上消失了。 所以问题是我做错了什么?allTasks var打印出
{start:“2017-05-17”,标题:“从机场接我妈妈”},
。我已经测试过了,但是当我尝试在我的函数中使用它时,它不起作用

错误日志:
[2017-05-15 11:40:36]request.ERROR:未捕获的PHP异常Symfony\Component\HttpKernel\Exception\NotFoundHttpException:“找不到“GET/[%7Bstart:'2017-05-17',标题:'Take%20my%20mom%20from%20airport'%7D'”(from)http://127.0.0.1:8000/home在/home/david/task_manager/var/cache/dev/classes.php第3497行{“异常”:“[object](Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(代码:0):找不到\“GET/[%7Bstart:'2017-05-17',标题:'Take%20my%20mom%20from%20airport'%7D'\”(from\)http://127.0.0.1:8000/home\)位于/home/david/task_manager/var/cache/dev/classes.php:3497,Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException(代码:0):at/home/david/task_manager/var/cache/dev/appdevdebugprojectcontainerurlmacher.php:162)“}[]
您可以尝试以下方法:

<script>
    var allTasks = '{{ fff|json_encode()|raw }}'; // make sure that fff return {'start': '2017-05-17', 'title': 'Take my mom from airport'}
</script>

$(function(){
    $('#calendar').fullCalendar({
        events: [
            JSON.parse(allTasks)
        ],
     });
 });

var allTasks={{fff | json_encode()| raw}}};//确保fff返回{'start':'2017-05-17','title':'Take my mom from airport'}
$(函数(){
$(“#日历”).fullCalendar({
活动:[
parse(所有任务)
],
});
});

您的控制台日志中是否有任何错误?JavaScript可能不喜欢在事件数组的最后一个元素后面加逗号-这是PHP和JavaScript之间的区别(PHP可以原谅后面加逗号)另一件事-scopes.
allTasks
是在全局作用域上定义的吗?或者可能是其定义周围的
标记-您的浏览器是否接受它而没有任何类型/语言属性?例如,
console.log(allTasks)
是否打印出任何内容?@mkilmanas我试图将
所有任务
变量打印到我的web中,它会打印出我需要的文本。@mkilmanas不,你是对的。逗号会导致语法错误,从而阻止其余的JS执行。这就是OP根本看不到日历的原因
<script>
    var allTasks = '{{ fff|json_encode()|raw }}'; // make sure that fff return {'start': '2017-05-17', 'title': 'Take my mom from airport'}
</script>

$(function(){
    $('#calendar').fullCalendar({
        events: [
            JSON.parse(allTasks)
        ],
     });
 });