微信小程序wx.request使用POST请求时后端无法获取数据解决办法
遇到的坑:
例如在写微信小程序接口时,method请求方式有POST和GET两种,为了数据安全,我们会偏向于使用POST请求方式访问服务器端;
当我们使用POST方式请求时,后端无法获取到传送的参数,但使用GET方式却是可以的。
解决办法:
设置请求的 header头:
header: { "Content-Type": "application/x-www-form-urlencoded" },
特别注意:post请求必须写method: 'POST'
,因为wx.request默认是GET请求的。
示例代码:
微信小程序的 index.js
wx.request({ url: 'https://后端网址/user/updatePhone.html', method: 'POST', data: { phone: _phone, openid: _openid}, header: { "Content-Type": "application/x-www-form-urlencoded" }, success: res => { console.log(res.data); } });
thinkphp后端控制器代码:
<?php namespace app\car\controller; use think\Controller; use think\Db; use think\Request; class User extends Base { public function _initialize(){ parent::_initialize(); } public function updatePhone(){ if(!isset($_POST['phone'])||!isset($_POST['openid'])){ header("Content-type: text/html; charset=utf-8"); echo '参数错误'.$_POST['phone']; exit; } $openid= trim($_POST['openid']); try{ $updata['tel'] = trim($_POST['phone']); Db::name('user')->where('wxopenid',$openid)->update($updata); $code=1; $msg="修改成功"; } catch (\Exception $e) { $code=0; $msg="修改失败"; } return $this->outputMsg($code,$msg); } }
到此这篇关于微信小程序wx.request使用POST请求时后端无法获取数据解决办法的文章就介绍到这了,更多相关微信小程序使用POST请求时后端无法获取数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
laravel执行php artisan migrate报错的解决方法
今天小编就为大家分享一篇laravel执行php artisan migrate报错的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-10-10迪菲-赫尔曼密钥交换(Diffie–Hellman)算法原理和PHP实现版
这篇文章主要介绍了迪菲-赫尔曼密钥交换(Diffie–Hellman)算法原理和PHP实现版,需要的朋友可以参考下2015-05-05php实现微信小程序订阅消息推送(access_token获取缓存刷新)
这篇文章主要为大家介绍了php实现微信小程序订阅消息推送包含access_token获取缓存刷新示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-08-08thinkPHP使用pclzip打包备份mysql数据库的方法
这篇文章主要介绍了thinkPHP使用pclzip打包备份mysql数据库的方法,结合实例形式分析了thinkPHP使用pclzip操作压缩文件的相关技巧,需要的朋友可以参考下2016-04-04
最新评论