thinkphp在前端页面的js代码中可以使用 U方法吗? 可以使用模板变量如__URL__等吗?

thinkphp在前端页面的js代码中可以使用 U方法吗?
可以的!
tp的U方法, 是"全局的", 什么是全局的? 就是, 可以在 "任何地方"使用的: 可以在前端使用, 这里的前端页面, 说的是, 整个html前端页面, 既然是整个html页面, 就是说, 既可以在dom 元素中body中使用, 主要是ajax, 超链接a的href等地方;
更是指:  html页面中的 js代码中

但是, 要注意, U方法可以在任意地方使用, 包括前端页面和后端页面, 两者的使用方法, 使用形式是不一样的:

  1. 在前端页面, (包括body元素内, 和js 代码内), 都是用 {:U('...')} 形式来使用的, js 中也是使用 {:...} 方式的;

  2. 而在后台页面, 就直接是调用U方法了, 不需要加什么大括号了 : echo U('checkVerify');

实际上, U方法 本身是可以带 传值参数的, 即 function U(url, [vars=array(), string,..], ....) 只是通常我们都没有传递后面的那个vars.

但是, 模板常量, 即在 ThinkPHP\Library\Behavior\ContentReplaceBehavior.class.php中的 函数: protected templateContentReplace($content){ $replace = array(....)... } 中定义的 URL, MODULE, 等, 这些模板常理, 就只能 在 模板的 html dom body 中使用了, 而不能在 js中使用. 因为U方法是 "全局的 而且是函数, 所以当然 可以在js中使用. 而 模板变量在js中使用就没有意义了, 因此, 它只能在 html中使用, 于是在js的ajax的url中 要使用 U方法, 而不能使用 模板变量!

posted @   noitanym  阅读(3359)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 开发者新选择:用DeepSeek实现Cursor级智能编程的免费方案
· Tinyfox 发生重大改版
· 独立开发经验谈:如何通过 Docker 让潜在客户快速体验你的系统
· 小米CR6606,CR6608,CR6609 启用SSH和刷入OpenWRT 23.05.5
· 近期最值得关注的AI技术报告与Agent综述!
历史上的今天:
2016-03-24 php中的正则函数主要有三个-正则匹配,正则替换
2016-03-24 正则表达式的懒惰匹配?
点击右上角即可分享
微信分享提示