微信小程序wx.request使用POST请求时后端无法获取数据解决办法
发布:smiling 来源: PHP粉丝网 添加日期:2022-04-18 10:03:09 浏览: 评论:0
这篇文章主要介绍了微信小程序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);
- }
- }
Tags: wx.request POST请求
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)