微信小程序 出现47001 data format error原因解决办法


Posted in Javascript onMarch 10, 2017

微信小程序 出现47001 data format error原因解决办法

看下错误:

微信小程序 出现47001 data format error原因解决办法

主要原因是请求的数据不是json格式引起的

分享下我用的代码和函数:

 发送模板消息

public function sendmessage(){
 $data=$_POST=json_decode(file_get_contents('php://input'), TRUE);
 $access_token=$this->getAccessToken();
 $request_url='https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token='.$access_token;
 $request_data=array(
  'touser'=>$data['touser'],//接收者(用户)的 openid
  'template_id'=>$data['template_id'],//所需下发的模板消息的id
  'page'=>$data['page'],//点击模板卡片后的跳转页面
  'form_id'=>$data['form_id'],//表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id
  'data'=>$data['data'],//"keyword1": {"value": "339208499", "color": "#173177"}
  'emphasis_keyword'=>$data['emphasis_keyword']//模板需要放大的关键词,不填则默认无放大
 );
 $return=json_decode(https_request($request_url,$request_data,'json'),true);
 $this->response($return,'json');
 }

发送请求

function https_request($url,$data,$type){
 if($type=='json'){//json $_POST=json_decode(file_get_contents('php://input'), TRUE);
 $headers = array("Content-type: application/json;charset=UTF-8","Accept: application/json","Cache-Control: no-cache", "Pragma: no-cache");
 $data=json_encode($data);
 }
 $curl = curl_init();
 curl_setopt($curl, CURLOPT_URL, $url);
 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
 if (!empty($data)){
 curl_setopt($curl, CURLOPT_POST, 1);
 curl_setopt($curl, CURLOPT_POSTFIELDS,$data);
 }
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers ); 
 $output = curl_exec($curl);
 curl_close($curl);
 return $output;
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
jQuery中需要注意的细节问题小结
Dec 06 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(三)情景对话中仿打字机输出文字
Jan 23 Javascript
js工具方法弹出蒙版
May 08 Javascript
extjs每个组件要设置唯一的ID否则会出错
Jun 15 Javascript
jQuery实现设置、移除文本框默认值功能
Jan 13 Javascript
详解JavaScript中循环控制语句的用法
Jun 03 Javascript
javascript瀑布流布局实现方法详解
Feb 17 Javascript
微信小程序通过api接口将json数据展现到小程序示例
Jan 20 Javascript
详解vue父子组件间传值(props)
Jun 29 Javascript
webpack下实现动态引入文件方法
Feb 22 Javascript
Angularjs中date过滤器失效的问题及解决方法
Jul 06 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
Sep 01 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
Mar 10 #Javascript
Bootstrap fileinput组件封装及使用详解
Mar 10 #Javascript
Bootstrap栅格系统使用方法及页面调整变形的解决方法
Mar 10 #Javascript
Node.js中.pfx后缀文件的处理方法
Mar 10 #Javascript
Vue.js结合bootstrap实现分页控件
Mar 10 #Javascript
js获取ip和地区
Mar 10 #Javascript
Vue.js bootstrap前端实现分页和排序
Mar 10 #Javascript
You might like
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
php中遍历二维数组并以表格的形式输出的方法
2017/01/03 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
利用javascript数组长度循环数组内所有元素
2013/12/27 Javascript
通过遮罩层实现浮层DIV登录的js代码
2014/02/07 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
javascript中动态函数用法实例分析
2015/05/14 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
2016/01/22 Javascript
12 款 JS 代码测试必备工具(翻译)
2016/12/13 Javascript
使用bootstrap插件实现模态框效果
2017/05/10 Javascript
关于meta viewport中target-densitydpi属性详解(推荐)
2017/08/18 Javascript
详解VUE 数组更新
2017/12/16 Javascript
Vue 换肤的示例实践
2018/01/23 Javascript
JS与CSS3实现图片响应鼠标移动放大效果示例
2018/05/04 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
[00:55]2015国际邀请赛中国区预选赛5月23日——28日约战上海
2015/05/25 DOTA
python编写微信远程控制电脑的程序
2018/01/05 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
2019/02/13 Python
Python读取stdin方法实例
2019/05/24 Python
如何基于Python获取图片的物理尺寸
2019/11/25 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
PUMA澳大利亚官方网站:德国运动品牌
2018/10/19 全球购物
口头翻译求职人自荐信
2013/12/07 职场文书
大一新生学期自我评价
2014/04/09 职场文书
婚礼秀策划方案
2014/05/19 职场文书
计算机网络专业求职信
2014/06/05 职场文书
群众路线教育实践活动方案
2014/10/31 职场文书
vue+spring boot实现校验码功能
2021/05/27 Vue.js
Mysql数据库值的添加、修改、删除及清空操作实例
2021/06/20 MySQL