您的位置:首页 > Web前端 > JavaScript

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

2017-03-24 09:45 746 查看
thinkphp在前端页面的js代码中可以使用 U方法吗?

: 可以的!

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

更是指:  html页面中的 js代码中

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

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

而在后台页面, 就直接是调用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方法, 而不能使用 模板变量!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐