0
点赞
收藏
分享

微信扫一扫

微信小程序给 thinkphp后端发送请求出现错误 Wrong number of segments 问题的解决 【踩坑记录】

君心浅语 2023-09-07 阅读 72

微信小程序给 thinkphp后端发送请求出现错误 Wrong number of segments 问题的解决 【踩坑记录】

微信小程序代码部分

 //给后端接口发送一个json请求,并且得通过token鉴权
 ToUpdatePwd(){
       wx.request({
         url: 'http://robin.com/User',
         method:'POST',
         header:{
            'content-type': 'application/json', 
            'token':store.token
        },
         success(res){
             console.log(res.data)
         }
       })
    },

PHP后端部分

 public function handle($request,Closure $next)
    {
        //第一步先取token
        $token = $request->header('token');
        // 先判断token是否为空
        if(!$token){
            return  json(['error_code'=>999,'msg'=>'token不存在','data'=>''],440);
        }
        // token 存在 再使用jwt进行校验token
        $res = (new TokenServer())->checkToken($token);
        if ($res['code'] != 1 ){
            return json(['error_code'=>999,'msg'=>$res['msg'],'data'=>''],400);
        }
        $request->uid = $res['data']->uid;
        return $next($request);
    }

错误显示

在这里插入图片描述

这里提示 wrong number of segements , 百度了一下说这个问题是 后端解码token缺了一些东西(没正确的解码),然后我去抓了下包发现,我小程序端发送请求的时候,token是undifend,然后检查了一下store中的token发现,是我写错了变量名(😂好低级的错误)

在这里插入图片描述

解决方案及步骤(总结)

微信小程序向后端发送请求时出现"Wrong number of segments"错误,通常是由于请求的URL路径不正确或请求参数不符合规范所导致的。

在ThinkPHP后端中,这个错误通常发生在执行控制器方法之前,因为ThinkPHP会根据请求的URL路径来匹配相应的控制器和方法。

如果以上步骤都没有解决问题,你可以进一步检查你的控制器方法和路由配置,确保它们没有其他错误或问题。


举报

相关推荐

0 条评论