业务经理

微信扫描以上二维码

028-61286886

技术咨询

在插件中接口数据使用代码我将参数以格式用编码后传入在后台解码

迅睿框架 更新 2020-09-30 11:16:44 迅睿粉丝

在httpapi插件中,接口数据使用php代码,我将参数以JSON格式用base64编码后传入,在后台解码后使用,文件的代码如下:

 $cans = \Phpcmf\Service::L('input')->get('cans');

 $cans = strToUtf8(base64_decode($cans));

 $return = [

     $get['cxb'] =>$cans.cxb,

      $get['cxzd'] =>$cans.cxzd,

       $get['cxtj'] =>$cans.cxtj,

     ];



function strToUtf8($str){

    $encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5'));

    if($encode == 'UTF-8'){

        return $str;

    }else{

        return mb_convert_encoding($str, 'UTF-8', $encode);

    }

}



返回数据能正常解码,可数据内容有点怪,请高手帮看看是什么原因。

传入的参数编码前为:{"cxb":"abc","cxzd":["字段A","字段B","字段C"],"cxtj":[{"字段A":">=5","字段C":"DESC"}]}

编码后为:eyJjeGIiOiJhYmMiLCJjeHpkIjpbItfWts5BIiwi19a2zkIiLCLX1rbOQyJdLCJjeHRqIjpbeyLX1rbOQSI6Ij49NSIsItfWts5DIjoiREVTQyJ9XX0=

可返回值变成:{"code":1,"msg":"ok","data":{"":"{\"cxb\":\"abc\",\"cxzd\":[\"字段A\",\"字段B\",\"字段C\"],\"cxtj\":[{\"字段A\":\">=5\",\"字段C\":\"DESC\"}]}cxtj"}}

data中的键名是空,后面又多了个cxtj。

正常的应该是返回 data内容为{\"cxb\":\"abc\",\"cxzd\":[\"字段A\",\"字段B\",\"字段C\"],\"cxtj\":[{\"字段A\":\">=5\",\"字段C\":\"DESC\"}]}才对,为何多出了些东西?


插件版权:官方插件
插件名称:httpapi

方案

  • 迅睿粉丝 #1 · 2020-09-30 10:52:58
    满意答案


    我记得php里面不能写这种点语法吧?
  • 迅睿粉丝 #2 · 2020-09-30 11:04:47
    玖爱一生 要如何写?我是PHP小白
  • 迅睿粉丝 #3 · 2020-09-30 11:16:20
    已解决,改为: $return = json_decode($cans,1);说行了,晕
  • 迅睿粉丝 #4 · 2020-09-30 11:16:44
    @玖爱一生:谢谢提示,问题解决

迅睿系统漏洞

外贸多语言建站
外贸多语言建站(2026-10-30)
修正对百度编辑器提取支持
AI文章生成器
AI文章生成器(2026-10-29)
任务插图设置数量
Bing站长数据
Bing站长数据(2026-10-29)
根据BING接口调整菜单 各个页面数据支持点击查看详情
按字段付费
按字段付费(2026-10-29)
按字段付费用于模块的字段设置一定的价格,当用户购买了此内容的字段时才...
泛解析站群系统
泛解析站群系统(2026-10-29)
AI队列增加清空按钮 表单提示语收敛 目录模式不接管主域名模板
邮件群发
邮件群发(2026-10-28)
修改模板的命名
自定义收款/捐款
自定义收款/捐款(2026-10-28)
自定义收款或捐款插件可以让用户快速创建付款或者捐款功能
CMS内容批量修改
CMS内容批量修改(2026-10-28)
后台批量修改文章内容的指定字段在插件后台可以任意指定字段
全站模块搜索
全站模块搜索(2026-10-28)
实现全模块一次性搜索内容,一键搜索全站内容精准搜索全部模块:
PHPCMSV9数据转换
PHPCMSV9数据转换(2026-10-28)
PHPCMS转入迅睿CMS操作步骤:https://www.xunr...