php - TP 框架中的一段字符串拼接问题
PHPz
PHPz 2017-04-11 09:01:03
[PHP讨论组]

如图,各位大神 帮我看看到底咋回事啊,怎么拼接都不对呢,我感觉我这样拼接应该对的呀,为毛浏览器解析出一堆乱码呢(图三没有加红框的是转换成php的语句)

把 + 改成 . 后

PHPz
PHPz

学习是最好的投资!

全部回复(5)
天蓬老师

首先你要弄清楚渲染的先后顺序,php会先解析成html,然后返回给浏览器进行dom渲染操作,tp模板在解析成html时,你的'+datalist[index].o_id+'会被当做id这个参数的value,会转成html实体,返回给浏览器后,根本就不认识了,所以就会出现你这种情况,正确做法是,不要在js for循环里参杂tp的模板函数,js将值写在html里,再通过js异步操作,或者

'<a href="{:U("a/b?id=")} '+datalist[index].o_id+'">'
大家讲道理

你写的是js?js + 是连接符
如果是php . 才是连接符

PHP中文网

js 和 php 语法你已经分不清了是吧
你应该这样写,"{:U('Cart/topay')}" + js参数

PHPz

{:U('Cart/topay')} 页面会被渲染 成 /index.php/Mobile/Cart/topay
{:U('Cart/topay?id='.data.')} 这样写 渲染的时候用 php 语法无法识别,就会被渲染成为你截图的那样,因为它把你写的识别为 url 地址,url 不识别 [] 这种 机会渲染为 %5B %5D ,
应该 这样写 href="{:U('Cart/topay')}?id="+datalist[index].o_id+"

PHPz

你这看起来不像PHP代码呀

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号