模版中的 {:url()} 函数,需要在服务器端渲染,然后在浏览器中输出的是渲染的结果。
渲染完成后,你在浏览器段无论怎么调用 {:url()} 都是徒劳的
@elux_ljl 的思路就是对的,不过 ThinkPHP5 中的 u函数改成了 url了。
模版中定义:
//你需要增加的部分开始
var url = function(action, id){
var tpl = '{:url("__ACTION__", "id=__ID__")}'; //不用管,ThinkPHP会自动解析为字符串
return tpl.replace('__ACTION__', action).replace('__ID__', id);
}
//你需要增加的部分结束
//为了配合你的代码,先构造前后部分
var currData = [{id:1}];
var i = 0;
''
//你需要改动的部分开始
+'编辑'+
//你需要改动的部分结束
''
在浏览器中查看时,ThinkPHP会先在服务器端渲染模版,最终生成的代码如下;
//你需要增加的部分开始
var url = function(action, id){
var tpl = '__ACTION__/id/__ID__'; //不用管,ThinkPHP会自动解析为字符串
return tpl.replace('__ACTION__', action).replace('__ID__', id);
}
//你需要增加的部分结束
//为了配合你的代码,先构造前后部分
var currData = [{id:1}];
var i = 0;
''
//你需要改动的部分开始
+'编辑'+
//你需要改动的部分结束
''