码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 微信小程序给 thinkphp后端发送请求出现错误 Wrong number of segments 问题的解决 【踩坑记录】


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

    • 微信小程序代码部分
    • PHP后端部分
    • 错误显示
    • 解决方案及步骤(总结)

    微信小程序代码部分

     //给后端接口发送一个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)
             }
           })
        },
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    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);
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    错误显示

    在这里插入图片描述

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

    在这里插入图片描述

    解决方案及步骤(总结)

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

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

    要解决这个问题,你可以按照以下步骤进行排查:

    1. 检查请求的URL路径是否正确。确保你在微信小程序中发送请求时,URL路径是正确的。例如,如果你在ThinkPHP中定义了一个控制器名为"Index",并且该控制器有一个名为"test"的方法,那么正确的URL路径应该是类似于"http://example.com/index/test"的形式。
    2. 检查请求的参数是否符合规范。如果你的控制器方法需要接收参数,确保你在微信小程序中发送请求时,参数的数量和格式是正确的。例如,如果你的控制器方法需要接收两个参数,那么你在微信小程序中发送请求时也需要提供两个参数。
    3. 检查URL路径和参数是否与路由配置匹配。在ThinkPHP中,你可以在路由配置文件中定义URL路径和参数的映射关系。确保你在路由配置文件中定义的路径和参数与你的控制器方法的定义相匹配。

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


  • 相关阅读:
    数据分析与可视化项目技术参考
    sentinel规则
    七天接手react项目 系列 —— 生命周期&受控和非受控组件&Dom 元素&Diffing 算法
    buildroot中将编译好的库(Qt,tslib)放入嵌入式linux文件系统
    国内crm解决方案的主要提供商有哪些?对比7家
    R | R及Rstudio安装、运行环境变量及RStudio配置
    【ARM Trace32(劳特巴赫) 使用介绍 2 -- Trace32 cmm 脚本基本语法及常用命令】
    东软睿驰总裁兼CTO杜强受邀出席 CICV 2024智能网联汽车技术首脑(CTO)闭门峰会
    Flink Yarn Per Job - 启动AM
    720云手机电动云台全新上市,让手机能自动拍摄亿万像素VR全景
  • 原文地址:https://blog.csdn.net/m0_63622279/article/details/132723177
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号