热门关键字:
jquery > jquery教程 > jquery教程 > thinkphp5 js中显示php变量

thinkphp5 js中显示php变量

267
作者:管理员
发布时间:2021/6/7 15:22:38
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=4897
  场景是这样的:


  我要用JS调用Controller里面的某个方法获取json数据,我便使用thinkphp的U方法,发现一直报错。


  首先,我们先弄清楚thinkphp的U方法。


  thinkphp函数详解-U方法


  代码是这样的:


  报错是这个:


  很明显是{:U()} 这个方式不能被正确解析。为什么呢?


  thinkphp官网的截图是这么说的:


  如果要在模板中调用,就采用 {:U( )}的方式。


  我排查很久,终于明白,原来是因为外部JS不能直接获取模板绑定的变量值。上面中U方法详解中有讲到,在模板中(即view)采用{:U( )}的方式,但是,前端的编码规范是把JS/CSS独立出来,尽量不要放在HTML代码里(HTML代码在view里),于是我就放在public里。然后便出现了上述出现的问题。模板只是display了那个HTML,不包括我的外部文件,外部JS没有被渲染,thinkphp目前也没有机制去解决这个引入外部文件渲染问题。


  可以用这种方法来解决。


  我在view模板里,用一个隐藏的input,然后value里面设置我要的参数


  然后在JS里面获取改input的value,然在组装好自己需要跳转的URL


  这样就好了。可以实现外部JS获取模板中绑定的变量值。


  我觉得方法虽然行得通,但是还是会出现代码冗余,期待有更好版本的TP出现。




如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:jquery
友荐云推荐