微信小程序报 47001 - data format error hint
微信小程序报 47001 - data format error hint
首先分两个重要点
①:请求 url 要携带 access_token (文档并未提醒)
②:要以 raw 方式提交
下面我们以 微信小程序开发工具 和s pring boot 的两个例子进行演示。
1:微信小程序开发工具例子
如果使用微信小程序开发工具,请首先选择 不校验合法域名。
此功能仅限于本地测试,并且在在线发布时仍需要进行验证。 (这仅是为了测试的理解,后台将在下面介绍)
错误请求(仅仅相对于某些特定问题来说;如:47001)
wx.request({url: "https://api.weixin.qq.com/wxa/msg_sec_check",data: {access_token:"XXXXXX"content:"文本审核",},method: 'POST',//请求头header: { 'content-type': 'application/x-www-form-urlencoded' },success: function (res) {console.log(res)},})
正确请求(仅仅相对于某些特定问题来说;如:47001)
wx.request({url: "https://api.weixin.qq.com/wxa/msg_sec_check?access_token=xxxxx",data: {content:"文本审核"},method: 'POST',success: function (res) {console.log(res)},})
仔细对比一下他们两个写法的不同点。
2:Spring boot 例子
在这里,我们使用Spring Boot的RestTemplate测试。
这是 RestTemplate发送请求教程
错误写法(仅仅相对于某些特定问题来说;如:47001)
public SecCheck get_msgSecCheck(String access_token,String content ){String url = "https://api.weixin.qq.com/wxa/msg_sec_check";Map<String, String> paramMap = new HashMap<>();paramMap.put("access_token",content);paramMap.put("content",content);HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_JSON);HttpEntity<Map<String, String>> httpEntity = new HttpEntity<>(paramMap,headers);System.out.println(httpEntity);ResponseEntity<SecCheck> response = this.restTemplate.postForEntity(url, httpEntity, SecCheck.class);return response.getBody();}
正确写法(仅仅相对于某些特定问题来说;如:47001)
public SecCheck get_msgSecCheck(String access_token,String content ){String url = "https://api.weixin.qq.com/wxa/msg_sec_check?access_token="+access_token;Map<String, String> paramMap = new HashMap<>();paramMap.put("content",content);HttpHeaders headers = new HttpHeaders();HttpEntity<Map<String, String>> httpEntity = new HttpEntity<>(paramMap,headers);System.out.println(httpEntity);ResponseEntity<SecCheck> response = this.restTemplate.postForEntity(url, httpEntity, SecCheck.class);return response.getBody();}
3:原因
第一个原因自然是文档 通(sang)俗(xin)易(bing)懂(kuang)
第二个原因是 请求头
我们看一下 post 常用请求 Content-Type 类型
①:application/x-www-form-urlencoded
最常见的 POST 提交数据的方式,表单内的数据将会被转换为键值对方式提交,如 name=anny&age = 20。
②:multipart/form-data
它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。
③:raw
可以上传任意格式的文本,可以上传text、json、xml、html等。
或许你需要使用postman生成二维码
微信小程序报 47001 - data format error hint相关推荐
- 【小程序】微信小程序报错47001 - data format error hint
在开发小程序获取手机号的时候 需要拿着code去调用微信的接口,拿到手机号 post请求的时候报错:47001 - data format error hint 解决: 这是因为该微信接口要求post ...
- 【微信小程序】NodeJs调用云开发HTTP API错误代码47001 / data format error错误
问题描述 服务器使用nodejs发送http请求调用云开发api报错47001 //返回结果如下 {errcode: 47001,errmsg: 'data format error hint: [x ...
- 【bug】HbuilderX运行到微信小程序 报错
首先,大前提是代码本身在HbuilderX里运行H5是没问题的,不报错 .然后运行到微信小程序报错了.(注:以下所说小程序代指微信小程序). 我来这里分享一下我报了什么错,怎么解决的和我浅薄的理解. ...
- 微信小程序报Cannot read property ‘setData‘ of undefined的错误
微信小程序报Cannot read property 'setData' of undefined的错误 最近在学习开发微信小程序,记录下项目中遇到的一个报错. 具体报错如下: 这时打印下this发现 ...
- 微信小程序报错module “wxParse/wxParse.js“ is not defined
微信小程序报错module "wxParse/wxParse.js" is not defined 解决 在本地设置把 ES6 转 ES5 勾上就 可以了
- 微信小程序报错 errcode: 40029, errmsg: “invalid code 针对狮子鱼
微信小程序报错 errcode: 40029, errmsg: "invalid code 一般情况是微信小程序appid和服务器后台设置的appid不一致造成的,本案例是狮子鱼后台小程序参 ...
- 微信小程序报SyntaxError: Unexpected end of JSON input
微信小程序报SyntaxError: Unexpected end of JSON input 这个错误是因为在路由传参的时候 微信小程序解析出来没有正确识别的字符 H5端可以正确使用 解决方法 le ...
- 微信小程序报错 Error: errCode: -501007 invalid parameters | errMsg: Invalid Key Name: _openid
错误原因: _openid不能主动设置 错误代码: db.collection('FixedStore').add({data: {fixedAudit: false, //审核状态fixedMerc ...
- 微信小程序报错{errMsg:hideLoading:fail:toast can't be found}
最近在调试微信小程序时,发现有报错问题,虽然没影响使用,但是看着不舒服啊,还是着手解决吧,先看一下报错 从论坛看了看说是最新版本的微信7.0.13测试版会出现,但是还得找找看看是不是这样 我们都知道w ...
- 微信小程序报Cannot read property 'setData' of undefined的错误
最近在学习微信小程序的开发,让我吐槽的是,都9102年了,怎么还是有有时不能复制,有时不能打中文的bug呢,这个时候,你可以Ctrl+shift+w一下,如果还不行,那就得重启了.. 进入正题吧,刚在 ...
最新文章
- MVC 之 架构的基本原理及Asp.Net实现MVC
- python【蓝桥杯vip练习题库】ALGO-157 阶乘末尾(高精度)
- 箱形图适用于哪种数据_盘点 | 十分钟进阶Excel数据可视化
- linux 命令行编辑常用快捷键
- 巧用Eclipse中用户自定义包(User Libraries)
- 基本数据结构之BinarySearchTree
- C语言实现组织图kohone/topology算法(附完整源码)
- waf可以查看post请求吗_WAF是如何被绕过的?
- SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤
- datagridview实时更新数据_旭诺云盒|智能办公新趋势进出口数据自动提取,通关状态实时更新...
- 理解物体检测中的Objectness
- java合并两个数组_「JAVA」两个数组的交集—力扣每日一题(一)
- linux 0755,linux audit审计(7-1)--读懂audit日志
- spring学习--jdbcTemplate - 增删改
- win10安装Visual Studio Code(VSCode)
- Java NIO和IO的区别
- 网络编程核心概念与模式
- android实现弹框动画,android对话框弹出方式动画
- TC气象数据下载包括NCEP的FNL(python脚本)、STI的Best_track、NOAA的SST
- VC2008 NewControl 示例