twig里使用JavaScript变量的方法

先看一段代码

 代码如下 复制代码

<script type="text/javascript">
    jQuery(document).ready(function(){
        
        jQuery(#my_input).change(function(){
 
            var value = jQuery(#my_input).val();
 
            jQuery.ajax({
 
                url: {{ path('ParteAccidentes_ajax', {'emergencia': value}) }},
                timeout: 5000,
                success: function(data) {
                   alert('ok');
                },
                error: function() {
                    alert('mal');
                }
            });
 
        });
 
    });
</script>

这个ajax请求的地址,无法正常正常访问。
这段代码里 jQuery(“#my_input”).val()的值赋值给value,然后想把value这个变量引入到
ajax里的url地址里。
这时候你会发现,你访问的这个地址,value的值并未引入进来,而是把当做字符串进行处理。
也就是说js的值,是不能直接引用到twig里的。
原因是,twig解析的是php变量,而value是js变量,所以twig 默认认为是个字符串。
所以我们需要进行替换,就要用到replace

代码如下,大家可以和上面的代码自行对比:

 

 代码如下 复制代码
<script type="text/javascript">
    jQuery(document).ready(function(){
        
        jQuery(#my_input).change(function(){
 
            var value = jQuery(#my_input).val();
            var url = "{{ path('ParteAccidentes_ajax', {'emergencia': 'text'}) }}";
            url = url.replace("text", value);
 
            jQuery.ajax({
 
                url: url,
                timeout: 5000,
                success: function(data) {
                   alert('ok');
                },
                error: function() {
                    alert('mal');
                }
            });
 
        });
 
    });
</script>
时间: 2025-01-30 14:19:00

twig里使用JavaScript变量的方法的相关文章

twig里使用js变量的方法_php实例

本文实例讲述了twig里使用js变量的方法的方法.分享给大家供大家参考,具体如下: 先看一段代码 <script type="text/javascript"> jQuery(document).ready(function(){ jQuery(#my_input).change(function(){ var value = jQuery(#my_input).val(); jQuery.ajax({ url: {{ path('ParteAccidentes_ajax'

在Linux里设置环境变量的方法(export PATH)

一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量.例如我的mips-linux-gcc编译器在"/opt/au1200_rm/build_tools/bin"目录下,build_tools就是我的编译工具,则有如下三种方法来设置环境变量: 1.直接用export命令:#export PATH=$PATH:/opt/au1200_rm/build_tools/bin查看是否已经设好,可用命令export查看:[root@localhost bin]# ex

JavaScript 模拟类机制及私有变量的方法及思路

这篇文章介绍了JavaScript模拟类机制及私有变量的方法及思路,有需要的朋友可以参考一下   在使用一些 Javascript 框架时,或许会看到类似的代码 复制代码 代码如下: var MyClass = new Class({ initialize: function(param, ...) { this.param = param; ... }, func1: function(...) { ... } }); var myObj = new MyClass(param); myObj

JavaScript 模拟类机制及私有变量的方法及思路_javascript技巧

在使用一些 Javascript 框架时,或许会看到类似的代码 复制代码 代码如下: var MyClass = new Class({ initialize: function(param, ...) { this.param = param; ... }, func1: function(...) { ... } }); var myObj = new MyClass(param); myObj.func1(...); 这是一种典型的面向对象的类机制应用,与原生的 Javascript 类机

程勇 2014-jQuery中的eq()方法中()里可以用变量吗

问题描述 jQuery中的eq()方法中()里可以用变量吗 $(function(){ $(".one").click(function(){ var num = $(".one").index(this); $("div[class ='one']:eq(+num+)>div[class = 'content']").toggle("slow"); alert(num); }); }); eq()括号里可以是变量吗?

iframe里使用JavaScript控制主页转向的方法_javascript技巧

本文实例讲述了iframe里使用JavaScript控制主页转向的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码写在iframe里面,点击按钮后整个网页会转向指定的url,而不是只转iframe里的页面 <!DOCTYPE html> <html> <head> <script> function breakout() { if (window.top!=window.self) { window.top.location="tryjs

javascript中利用柯里化函数实现bind方法_javascript技巧

柯理化函数思想:一个js预先处理的思想:利用函数执行可以形成一个不销毁的作用域的原理,把需要预先处理的内容都储存在这个不销毁的作用域中,并且返回一个小函数,以后我们执行的都是小函数,在小函数中把之前预先存储的值进行相关的操作处理即可: 柯里化函数主要起到预处理的作用:bind方法的作用:把传递进来的callback回调方法中的this预先处理为上下文context; /** * bind方法实现原理1 * @param callback [Function] 回调函数 * @param cont

javascript中利用柯里化函数实现bind方法【推荐】_javascript技巧

• 柯理化函数思想:一个js预先处理的思想:利用函数执行可以形成一个不销毁的作用域的原理,把需要预先处理的内容都储存在这个不销毁的作用域中,并且返回一个小函数,以后我们执行的都是小函数,在小函数中把之前预先存储的值进行相关的操作处理即可: • 柯里化函数主要起到预处理的作用: • bind方法的作用:把传递进来的callback回调方法中的this预先处理为上下文context; /** * bind方法实现原理1 * @param callback [Function] 回调函数 * @par

JavaScript修改作用域外变量的方法_javascript技巧

1.今天在看JavaScript学习指南的时候做的课后习题,也因此详细的对函数的传入参数进行比较深入的研究. 题目如下: 函数如何才能修改其作用域之外的变量?编写一个函数,由1~5的数字组成的数组作为参数,调用该函数后将把其中的数字项替换为相应的字符串表示形式. 需要注意知识点: 在JavaScript中函数参数的传递,对于基于原始值的参数进行值传递(数字,字符串,布尔值),函数中的修改不会影响实际参数值.而传递给函数的参数而言,对象是一个引用,对其的修改的将会反映在主调程序中.<-但是,会有这