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方法, 而不能使用 模板變量!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM