用PHP写后台,制作layer弹出框使用get方法时,数据中的加号变为空格的问题解决办法

在PHP后台使用layer弹出框的get方法时遇到加号变为空格的问题。解决方法是在PHP代码中使用`$point = str_replace(' ', '+', $point);`将空格替换回加号,避免GET请求中加号被解析为空格导致的数据错误。" 52503628,5716856,VMware虚拟机配置联网指南,"['VMware', '虚拟机', '网络', 'Linux']
摘要由CSDN通过智能技术生成

PHP中layer弹出框使用get方法时,数据中的加号变为空格的问题解决办法

问题描述:
如图所示:在web项目中,后台是用php写的。利用js中的layer.open做了一个弹出确认框,但是却发现前端中显示的“未分配+14”在弹出框中显示的“未分配 14”,加号在这个过程中变成了空格
在这里插入图片描述
通过查阅发现,layer默认就是使用get请求,layer又没有参数可以设置调整为POST。GET传送数据时,如果数据里含有"+"(加号),但接收程序解析数据时,会把这个加号解析成空格。
首先采用的办法是使用urlencode进行编码(TP框架)
在这里插入图片描述PHP代码是这样,但是这样操作后,虽然空格变成了加号,但是出现了新问题,原本的汉字乱码了

在这里插入图片描述
其实不需要再次使用urlencode进行编码,php在接收到参数的时候,会自动对参数进行一次urldecode解码操作,因此,如果传送的参数未进行url编码,那特殊字符(例如+号)就会被解码为空格,导致参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值