时间:2021-05-18
遇到的坑:
例如在写微信小程序接口时,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后端控制器代码:
<?phpnamespace 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请求时后端无法获取数据内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
微信小程序request出现400的问题解决办法最近在跟着demo学习微信小程序,当进行网络请求时出现400,折腾了很久,代码如下:wx.request({ur
微信小程序合法域名校验出错详解及解决办法看下出现错误:微信小程序开发,遇到这个问题怎么办?产生原因是因为发起了wx.request请求而请求的域名没有在微信公众
微信小程序网络请求1.post请求:onLoad:function(){that=this;wx.request({url:"url",header:{"Con
wx-promise-request是对微信小程序wx.request方法的异步封装。解决问题支持Promise(使用es6-promise库)。管理请求队列,
本文实例讲述了微信小程序wx.request实现后台数据交互功能。分享给大家供大家参考,具体如下:记录微信小程序wx.request这个api在跟后台交互时遇上