get方式传值一个符号的坑

敲定吧2021-8-19 322

今天在公司,项目中需要生成qrcode 链接二维码,前端提交当前页面URL,后端接收并生成二维码!

进行中发现生成的链接二维码带有多参数,

比如:baidu.com/detail?id=3&gui=4

而二维码所解析的链接是baidu.com/detail?id=3&amp%3Bgui=4,导致&后参数无法正常识别!

公司妹子周旋了无果,其实&符号加后面字符会被php转义成为unicode!

GET方式获得的值,如果带有# 与 &符号,不会被打印输出后面的所有字符,而后端处理时可能把它们当成了unicode字符的开头标识;

POST方式也会把&字符转译成& 好像只限&符号

最新回复(4)
  • 敲定吧2021-8-19
    2

    后来处理方法改成了传值baidu.com/detail?id=3@gui=4
    后端收到后再替换匹配

    $url = 'baidu.com/detail?id=3@gui=4';
    $url = str_replace('@', '&', $url);     ^_^!!!

     

  • 燃烧的冰2021-8-19
    3

    试试
    $url = htmlspecialchars_decode($url);

  • 燃烧的冰2021-8-19
    4
    二维码为什么要后端生成,前端就可以完成。我还特意把那个 JS 文件放到了 JS 目录
  • 敲定吧2021-8-19
    5
    燃烧的冰 二维码为什么要后端生成,前端就可以完成。我还特意把那个 JS 文件放到了 JS 目录
    前端的妹子不会用uniapp搞,其实可以搞,但她说嫌麻烦!我滴天!
返回
发新帖