微信小程序使用POST请求后台数据失败,报错为Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported

2023-11-08

 

 

文章目录

 错误代码

后台接口

微信小程序请求方式

错误原因

 解决方法

正确代码

 另外,打印返回的结果对象res时,不能使用字符串拼接,否则只能得到[Object object] 巨坑!

参考文章


 错误代码

后台接口

    /**
     * 隐患随手拍 我的上报
     * @param params
     * @return
     */
    @PostMapping("/list")
    @ResponseBody
    public List<WxHdVo> getHdVoListByWxUser(@RequestBody Map<String, String> params) {
        List<WxHdVo> hdVos = new LinkedList<>();
        System.out.println(params.get("sbr"));
        List<ScHd> scHds = scHdService.selectScHdForWx(params.get("sbr"), params.get("fcqk"));
        System.out.println(scHds.size());
        for (ScHd scHd : scHds) {
            List<ScHdImg> scHdImgs = scHdImgService.selectScHdImgListByHdId(scHd.getId());
            hdVos.add(new WxHdVo(scHd.getSbr(), scHd.getSbsj(), scHd.getYhdd(), scHd.getYhbw(), scHd.getYhms(), scHdImgs,
                    scHd.getZgzrdwMc(), scHd.getZgcs(), scHd.getZgqx(), scHd.getZgqk(), scHd.getFcdwMc(), scHd.getFcqk(), scHd.getYhxcrq(), scHd.getBz()));
        }
        return hdVos;
    }
}

微信小程序请求方式

         wx.request({
            url: 'http://localhost:8081/wx/hd/list',
            method:"POST",
            data:{
              "sbr": "gy",
              "fcqk": "2"    
            },
            header:{'content-type': 'application/x-www-form-urlencoded'}, 
            success:res=>{
                console.log(res);
            }
          })

错误原因

  • 第一,请求的数据类型是JSON格式,而后台接收前端小程序传来的数据类型是JSON字符串,后端的Spring无法识别与转换这个JSON格式的数据
  • 第二,小程序请求头的Content-Type值与请求体data数据之间不匹配导致请求出错。

 解决方法

因此我们将小程序请求头和data请求体改成相匹配的即可

  • 第一步,使用JSON.stringfy()将JSON对象转换成JSON字符串来传递
  • 第二步,将请求头中content-type值改为'application/json'

 


 

正确代码

小程序请求方式

     wx.request({
            url: 'http://localhost:8081/wx/hd/list',
            method:"POST",
            data:JSON.stringify({
              "sbr": "gy",
              "fcqk": "2"    
            }),
          header:{'content-type': 'application/json'},
            success:res=>{
                console.log(res);
            }
          })
    },

这样修改后便成功拿到了后端接口的数据!!!


 另外,打印返回的结果对象res时,不能使用字符串拼接,否则只能得到[Object object] 巨坑!

 


 

参考文章

Jmeter发送post请求报错Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supportedicon-default.png?t=N0U7https://www.cnblogs.com/justyoutiao/p/11385964.html微信小程序和springboot后台交互,小程序如何传递参数后台如何接收,和一些报错问题icon-default.png?t=N0U7https://blog.csdn.net/weixin_45862170/article/details/114600756?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167534032516800225538724%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167534032516800225538724&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-114600756-null-null.142^v72^insert_down4,201^v4^add_ask&utm_term=%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8Fspringboot%E5%89%8D%E5%90%8E%E7%AB%AF%E4%BA%A4%E4%BA%92&spm=1018.2226.3001.4187微信小程序以post方式提交icon-default.png?t=N0U7https://blog.csdn.net/lff1123/article/details/80254282?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167534645216800225552748%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167534645216800225552748&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-80254282-null-null.142^v72^insert_down4,201^v4^add_ask&utm_term=%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%8F%91%E9%80%81post%E8%AF%B7%E6%B1%82&spm=1018.2226.3001.4187


小程序坑真的多,故分享解决方案,让更多的人少走弯路

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序使用POST请求后台数据失败,报错为Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported 的相关文章

随机推荐

  • 企业级DevOps容器云平台流水线综合解决方案详解(一)

    一 Jenkins Pipeline 语法 1 Jenkins Pipeline 简介 Jenkins pipeline 流水线 是一套运行于 jenkins 上的工作流框架 将原本独立运行于单个或者 多个节点的任务连接起来 实现单个任务难
  • 功能测试基础之接口测试

    功能测试基础之接口测试 文章目录 功能测试基础之接口测试 定义 测试目的 接口测试分类 接口测试的方法 实例分析 定义 软件系统本身有不同模块组成 模块与模块之间存在着分工协作及信息交互 这种模块与模块之间的交互通道我们称之为软件系统的内部
  • RPC-client异步回调原理

    RPC client异步回调原理 见下面的设计图 所谓异步回调 在得到结果之前 不会处于阻塞状态 理论上任何时间都没有任何线程处于阻塞状态 因此异步回调的模型 理论上只需要很少的工作线程与服务连接就能够达到很高的吞吐量 上图中左边的框框 是
  • 人脸表情识别概述(一)

    一 人脸表情识别技术目前主要的应用领域包括人机交互 安全 机器人制造 医疗 通信和汽车领域等 二 1971年 心理学家Ekman与Friesen的研究最早提出人类有六种主要情感 每种情感以唯一的表情来反映人的一种独特的心理活动 这六种情感被
  • PCIe Switch PM40028调试

    背景 项目使用到了一款PCIe Gen4的Switch芯片用于高速数据的交换 芯片型号为PM40028 制造商为microchip 前期工作 初期参考Demo板设计了电路 回板后按照原厂要求进行测量 测量电源电压 电源纹波 电源的上电时序
  • basename函数漏洞之[Zer0pts2020]Can you guess it?

    知识点 basename 函数 获取路径中的文件名 比如 test inde php s 就会返回index php 但是漏洞就是 它会去掉文件名开头的或者结尾的非ASCII值 例题 代码
  • Android Display System --- Surface Flinger

    转自一醉千年大大 http blog csdn net yili xie archive 2009 11 12 4803527 aspx SurfaceFlinger 是Android multimedia 的一个部分 在Android 的
  • Postgres psql: 致命错误: 角色 "postgres" 不存在

    问题再现 当前环境 postgresql 11 5 windows 10 企业版LTSC 64位 当运行 C Program Files PostgreSQL 11 scripts runpsql bat 的时候 发现了这个错误 原因 原因
  • Antd/g2plot 渐变色设置 折线图 环形通用

    官网提供了渐变色的设置方法 线性渐变 areaStyle fill l 270 0 ffffff 0 5 7ec2f3 1 1890ff fillOpacity 0 5 lineOpacity 0 1 shadowBlur 10 官网源地址
  • logback.xml配置不同级别日志,设置彩色输出

    yml或者properties配置文件 logging config classpath logback xml resources目录下新建logback xml文件
  • Python 算法交易实验65 算法交易二三事

    说明 对算法交易的一些内容做一些回顾和反思吧 老规矩 先chat一下 道理说的都对 如果要补充就推荐再看一本书量化交易 如何建立自己的算法交易事业 我觉得这样就比较完整了 简单来说 把量化当成事业 而不是一种投机 那么就要从模式 规范和工程
  • linux统计某个字符个数,Linux统计一个文件中特定字符个数的方法

    统计一个文件中某个字符串的个数 其实就是在在一块沙地里面找石头 有的人看到石头以后 在上面做个标记 grep 然后记住自己做了多少个标记 有的人看到石头以后 把它挖了 tr 最后统计自己挖了多少石头 有的人看到石头以后 把它跳过去 awk
  • 【Yarn】Yarn 应用开发之Client开发、AppMaster开发

    文章目录 1 概述 2 Client开发 2 1 提交应用 2 2 提交应用具体步骤 2 3 监控应用运行状态 3 AppMaster开发 3 1 AppMaster与ResourceManager 交互 3 2 AppMaster与Nod
  • Python中datetime.strptime()和strftime()的应用

    datetime是一个模块 它提供了日期格式和字符串格式相互转化的函数 datetime模块还包含一个datetime类 通过from datetime import datetime导入的才是datetime这个类 1 strptime
  • JDK8中新日期时间API

    第三次引入的API是成功的 并且Java 8中引入的java time API已经纠正了过去的缺陷 将来很长一段时间内它都会为我们服务 Java8吸收了Joda Time的精华 以一个新的开始为Java创建优秀的API 新的 java ti
  • 深度学习之美——M-P神经元模型

    M P神经元模型是什么 简单来说 神经网络是一种模仿动物神经网络行为特征 进行分布式并行处理信息的算法模型 人工神经网络 ANN 的性能好坏 高度依赖神经系统的复杂程度 他通过调整内部大量 简单单元 之间的互连权重 从而达到处理信息的目的
  • 【DataX-Web的搭建(Windows/Linux环境)

    备注 我本地目录规划 统一放到文件夹 D java Projects sync data datax D java Projects sync data datax web 一 安装DataX 1 安装python3 配置环境变量 但从gi
  • 游戏中红点提醒模块设计

    Update 2023 2 3 实现红点系统需要注意的点 根据笔者的经验 项目中遇到的红点需求往往有以下几个注意点 需要我们在设计与实现红点系统时 稍加考虑 虽然红点依赖于UI进行显示 但是红点系统的实现不能强依赖于UI 如某个UI界面并没
  • Windows远程桌面方式-由于没有远程桌面授权服务器可以提供许可证,远程会话连接已断开。请跟服务器管理员联系。

    对于大多数据Windows用户来讲最常用的远程桌面方式是系统自带的 使用方便 这种方式一般局域网使用较多 而对于非统一局域网内的用户来讲 远程其他地方的电脑则相对比较麻烦 需要知道对方外网IP 连接方式一 搜索 mstsc 或者远程桌面 但
  • 微信小程序使用POST请求后台数据失败,报错为Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported

    文章目录 错误代码 后台接口 微信小程序请求方式 错误原因 解决方法 正确代码 另外 打印返回的结果对象res时 不能使用字符串拼接 否则只能得到 Object object 巨坑 参考文章 错误代码 后台接口 隐患随手拍 我的上报 par