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

这篇具有很好参考价值的文章主要介绍了微信小程序使用POST请求后台数据失败,报错为Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

 

文章目录

 错误代码

后台接口

微信小程序请求方式

错误原因

 解决方法

正确代码

 另外,打印返回的结果对象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);
            }
          })
    },

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

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


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

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

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


 

参考文章

Jmeter发送post请求报错Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supportedhttps://www.cnblogs.com/justyoutiao/p/11385964.html微信小程序和springboot后台交互,小程序如何传递参数后台如何接收,和一些报错问题https://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方式提交https://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


小程序坑真的多,故分享解决方案,让更多的人少走弯路文章来源地址https://www.toymoban.com/news/detail-482827.html

到了这里,关于微信小程序使用POST请求后台数据失败,报错为Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序-发送Get/Post请求

    一、Get请求 二、Post请求

    2024年02月16日
    浏览(32)
  • “编辑微信小程序与后台数据交互与微信小程序wxs的使用“

    在现代移动应用开发中,微信小程序已经成为了一个非常流行和广泛使用的平台。为了使小程序能够展示丰富的内容和实现复杂的功能,与后台数据的交互是至关重要的。同时,微信小程序还提供了一种特殊的脚本语言——wxs,用于增强小程序的业务逻辑处理能力。本篇博客

    2024年02月08日
    浏览(35)
  • 【微信小程序】后台数据交互于WX文件使用

    目录 一、前期准备 1.1 数据库准备 1.2 后端数据获取接口编写 1.3 前端配置接口 1.4 封装微信的request请求   二、WXS文件的使用 2.1 WXS简介 2.2 WXS使用   三、后台数据交互完整代码 3.1 WXML 3.2 JS 3.3 WXSS 效果图  创建数据库: 注意: 字符集选择 utf8mb4 ,因为可能用存储用户信息,

    2024年02月08日
    浏览(32)
  • VUE项目使用axios发送post跨域请求,返回数据失败问题

    Access to XMLHttpRequest at \\\'http://xxxx\\\' from origin \\\'http://localhost:8080\\\' has been blocked by CORS policy: Response to preflight request doesn\\\'t pass access control check: No \\\'Access-Control-Allow-Origin\\\' header is present on the requested resource. 第一步 ,在后端接受方,对返回的数据添加 响应头 ,使用下面这句代码: 第二步

    2024年02月11日
    浏览(38)
  • 微信小程序真机调试请求失败的解决

    微信小程序在电脑上一切正常,请求成功,但是在真机调试上请求失败,报错,是因为电脑和手机内网ip不同的问题 把请求地址改为本机局域网ip地址,手机和电脑连同一个局域网,就不会报错了 如果手机上还是获取不到数据,那就需要把电脑的防火墙关闭,这样就可以了

    2024年02月11日
    浏览(34)
  • 微信小程序使用PHP调用后台mysql数据库-小白版

    1.域名备案 首先,需要有一个域名,且这个域名是已经备过案的。(如果小程序不发布正式版只用于线上测试则不影响) 2.后台服务器 其次,需要一个服务器,我这里使用的是宝塔面板,对小白很友好,很方便操作。 也可以买个虚拟主机,一个月几块钱左右,很适合小白弄

    2024年04月14日
    浏览(33)
  • vue3使用axios发送post请求,后台接收到的参数总是null,使用postman测试后台是能接收数据的

    使用vue3,连基本的请求都失败了,使用浏览器查看post请求,参数中是有值,但是传到后台,每个参数都是null,不知道哪里错了。排除了后台的错误,就剩下了vue代码的错误了。我出错的地方是vue使用axios发送post请求的时候,参数格式写错了。 直接贴代码了,正确的写法 f

    2024年02月13日
    浏览(31)
  • 微信小程序基础使用-请求数据并渲染

    小程序模板语法-数据绑定 在js中定义数据 小程序的data是一个对象,不同于vue的data是一个函数 在模块中获取使用数据 小程序中使用 {{}} 实现数据与模板的绑定 内容绑定: view{{ 属性名 }}/view 属性绑定: input value=\\\"{{属性名}}\\\" / {{}} 内写的是表达式 简易双向绑定 小程序中提供了

    2024年02月08日
    浏览(72)
  • 微信小程序真机调试网络请求失败或超时的问题

      在使用uniapp开发微信小程序时,开发者工具的模拟器可以正常请求。但是当使用真机调试时会发现,请求已发起,但是控制台一片空白。 过了一会儿就会报错,请求超时。 检查代码和网络连接都正常,当然也勾选了不校验合法域名。 网上搜了半天,没发现相同的问题。

    2024年02月03日
    浏览(52)
  • iphone/苹果手机 微信小程序 真机调试 网络不通 网络请求失败

    问题:iphone/苹果手机 微信小程序 真机调试 网络请求失败,可以确定的是,真机和开发工具所在电脑肯定是在一个网段的,把蜂窝数据都关了,只保留了WIFI,还是请求不通, 最终参考 微信小程序真机调试报错fail-109:net::ERR_ADDRESS_UNREACHABLE ? 解决,原来是 IOS升级了本地网络权

    2024年02月11日
    浏览(83)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包