twig 模板变量 set 赋值时如何引用 js 函数的返回值?

<script> 
function test_function()

var test=self.location.href.indexOf("=");//查看是否包含参数 
if(test>0)//存在参数 

var para=self.location.href.substr(test+1); 

return para;
}
</script> 

<!-- twig --> 
{% set para_1 = 此处如何得到test_function() 返回值?? %}

凤凰求蛊
浏览 814回答 2
2回答

智慧大石

直接是得不到的因为模板中的变量要先于JS执行。这需要你对网页从请求到展示的整个过程有所了解。要知道,在一个页面上,JS是运行在客户端浏览器上的,而PHP是运行在服务器上的,而用户在请求一个网页的时候,服务器会先运行PHP,完成之后递交(传递)给用户浏览器,然后浏览器加载这个页面,如果其中有JS代码,则执行它。那么,如果浏览器想要向服务器递交数据的话,可以使用get或者post传值的方式,一种是表单方式,一种是ajax方式,都有get和post两种,这个需要你更深入地学习一下才行,不是在这里一两句就能讲清楚的。你的这个问题,也是需要用表单或者是ajax向服务器递交表单的,然后在服务器上,对这个页面进行第二次执行的时候(也就是服务器获取到用户传来的数据之后)才能对这个数据进行处理。

阿波罗的战车

1)ajax方式,完成之后递交(传递)给用户浏览器。PHP是运行在服务器上的直接是得不到的,因为模板中的变量要先于JS执行。2)表单方式,服务器会先运行PHP,可以使用get或者post传值的方式。需要对网页从请求到展示的整个过程有所了解,而用户在请求一个网页的时候,然后浏览器加载这个页面,然后在服务器上,在一个页面上,对这个页面进行第二次执行的时候(也就是服务器获取到用户传来的数据之后)才能对这个数据进行处理,则执行它,不是在这里一两句就能讲清楚的,JS是运行在客户端浏览器上的,如果其中有JS代码,都有get和post两种,也是需要用表单或者是ajax向服务器递交表单的。script>.href;}return para;查看是否包含参数if(test>{% set para_1 = 此处如何得到test_function() 返回值;/</.substr(test+1);/script>!-- twig --><function test_function(){var test=self?;).location.href;}</=".indexOf("存在参数{var para=self;0)/.location
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java