踩坑tp5-模板视图中js使用{:url()}方法传参问题

在使用TP5开发个人博客时遇到一个问题,尝试用js的window.location.href进行页面跳转并传参,但模板引擎无法正确解析变量。通过测试发现,直接拼接URL字符串的方式可以成功解析文章ID。同时,文章还展示了在分页查询时如何保持URL参数不丢失的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:
最近,在使用tp5搭建个人博客后台踩到了一个坑,在tp5自带的视图模板引擎中。

其中有一个应用场景是js的 window.location.href 跳转到指定页面并且传递文章id

于是采用了下面2种方式进行操作,均不能成功解析到id的值,而是直接将变量名拼接成字符串输出。代码及错误实例如下:



var articleID = $("#articleID").val(); //采用jQuery的选择器

window.location.href = "{:url('article/markdown',['id'=>"+articleID+"])}";  // 解析失败

window.location.href = "{:url('article/markdown','id=" + articleID + "')}";  // 解析失败
 */
 

解决方法:
采用下面的拼接方式,则能够正确解析,获取到id的值。


 window.location.href = "{:url('article/markdown')}?id=" + articleID; //解析成功
 

分页中跳转不丢失已存在的url参数

$list = db($tableName) -> field($field) -> where($where) -> order($order) -> paginate($pagenum,false,[
                'query' => Request::instance()->param(),//不丢失已存在的url参数
            ]) ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值