从Twig调用JavaScript函数
Call JavaScript function from Twig
我正在Symfony2项目上工作,我想调用JavaScript函数并从Twig传递JSON对象数组(我从控制器获得)。
但是第一个非常简单的测试已经失败了,比如:
main.js:
function helloWorld(name) {
console.log("hello " + name);
}
链接到分支中的main.js,并调用函数:
<body>
<script>helloWorld("world!")</script>
{% block javascripts %}
<script src="{{ asset('js/main.js') }}"></script>
{% endblock %}
</body>
导致ReferenceError:
"Uncaught ReferenceError: helloWorld is not defined"
我要做什么不同的工作?
编辑:感谢两位花时间回答的人。所描述的小枝实际上由一堆嵌套的小枝组成,javascript包含的位置是基于Symfony文档的,我猜这就是为什么我没有看到明显的。应该在提问的时候自己发现问题,虽然....
将函数的顺序颠倒:
<body>
{% block javascripts %}
<script src="{{ asset('js/main.js') }}"></script>
{% endblock %}
<script>helloWorld("world!")</script>
</body>
带有helloWorld
定义的脚本放在函数执行的之后。这意味着JavaScript还不知道该函数并触发此错误。
解决方案:把你的javascript在你的导入(</body>
之前,在javascripts块,例如)或把你的导入页javascript之前(在头部,例如)。
相关文章:
- 从函数JavaScript返回不可变数组/对象
- 将对象传递给函数.JavaScript
- 如何定义const函数javascript(语法糖)
- 新的日期函数javascript
- TypeError:this.getAttribute不是一个函数-javascript
- 从函数javascript发送变量
- 扩展自容器函数Javascript
- 从内部函数javascript内部分配外部函数的对象
- 使用函数JavaScript中的函数
- 在这里使用回调函数(JavaScript)有什么好处吗
- 来自函数 Javascript 的 NaN 返回值 ||函数执行顺序
- 将“e”传递给一个新函数 - javascript
- 调用函数中的一个函数——Javascript
- 传递的变量不适用于我的函数-Javascript
- 如何将类方法设置为等于多个函数?-Javascript
- 显示php中的函数javascript
- 如何使用php代码创建函数Javascript弹出框
- 未调用的外部函数-javascript
- 如何在类中运行函数.Javascript
- 关闭mouseover上的一个函数——Javascript,jQuery