微信小程序 出现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 相关文章推荐
javascript+xml技术实现分页浏览
Jul 27 Javascript
比较全面的event对像在IE与FF中的区别 推荐
Sep 21 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
Feb 27 Javascript
javascript实现行拖动的方法
May 27 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
May 16 Javascript
深入浅出讲解ES6的解构
Aug 03 Javascript
BootStrap使用file-input插件上传图片的方法
Sep 05 Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
Mar 06 Javascript
详解ES6中的代理模式——Proxy
Jan 08 Javascript
详解vuex状态管理模式
Nov 01 Javascript
Vue中遍历数组的新方法实例详解
Jul 21 Javascript
vue - props 声明数组和对象操作
Jul 30 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
PHP4引用文件语句的对比
2006/10/09 PHP
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
php多用户读写文件冲突的解决办法
2013/11/06 PHP
php 获取SWF动画截图示例代码
2014/02/10 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
2014/07/24 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
深入浅析php中sprintf与printf函数的用法及区别
2016/01/08 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
关于javaScript注册click事件传递参数的不成功问题
2014/07/18 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
2015/11/24 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
javascript作用域、作用域链(菜鸟必看)
2016/06/16 Javascript
EasyUI创建对话框的两种方式
2016/08/23 Javascript
js实现九宫格的随机颜色跳转
2017/02/19 Javascript
jQuery给表格添加分页效果
2017/03/02 Javascript
解决React Native端口号修改的方法
2017/07/28 Javascript
AngularJS 控制器 controller的详解
2017/10/17 Javascript
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
angular 未登录状态拦截路由跳转的方法
2018/10/09 Javascript
python实现的二叉树算法和kmp算法实例
2014/04/25 Python
Tornado服务器中绑定域名、虚拟主机的方法
2014/08/22 Python
详解python的webrtc库实现语音端点检测
2017/05/31 Python
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
通过PHP与Python代码对比的语法差异详解
2019/07/10 Python
python操作yaml说明
2020/04/08 Python
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
2016/12/07 面试题
当文件系统受到破坏时,如何检查和修复系统?
2012/03/09 面试题
电脑饰品店的创业计划书
2014/01/21 职场文书
《春雨》教学反思
2014/04/24 职场文书
蛋糕店创业计划书
2014/05/06 职场文书
运动会入场口号
2014/06/07 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书