tp5中url使用js变量传参方法

admin 发布于 ThinkPhp

thinkphp5中在html页面输出url地址使用{:url('地址',‘参数’)}的方法来实现,有些时候可能需要在js中对url地址进行输出,在js中输出通常用拼接字符串的方式来实现,但是会遇到不能解析的问题,在这提供两种解决方法!

window.location.href="{:url('Index/index')}>"+"/ID/"+ID; //这样可以生成,但url模式改变则不能用
window.location.href="{:url('Index/index','ID=" + ID+ "')}" //解析不成功。
window.location.href="{:url('Index/detail',['id' => "+iD+"])}";//解析不成功
window.location.href='{:url("Index/detail")}?id='+ iD ;//解析成功,
但是在配置路由时会有问题,生产的url为:index/detail?id=1

第二种解决方法可以解决路由问题,生产的url格式:index/deatil/id/1

var pid = 3;//要带入的变量
var str = "{:url('Index/detail',array('id'=>'p_id'))}"; //先将变量以字符串的形式带入U函数中
str1 =  str.replace("P_id",pid); //将代替变量的字符串用真实变量替换掉,OK搞定!
或者
var pid = 3;
var str = "{:url('Index/detail')}";
$("#city_id").load(str, {"id" : pid});1
路由配置
Route::get('detail/[:id]','index/Detail');


425浏览量 · 0评论 · 2019-08-12 07:49:16

全部评论  0

注册登录 进行评论

热门专题

更多专题