微信小程序wx.request使用POST请求时后端无法获取数据解决办法

这篇文章主要介绍了微信小程序wx.request使用POST请求时后端无法获取数据解决办法,解决办法其实也很简单,有需要的同学可以尝试下

遇到的坑:

例如在写微信小程序接口时,method请求方式有POST和GET两种,为了数据安全,我们会偏向于使用POST请求方式访问服务器端;

当我们使用POST方式请求时,后端无法获取到传送的参数,但使用GET方式却是可以的。

解决办法:

设置请求的 header头:

header: { "Content-Type": "application/x-www-form-urlencoded" },

 

微信小程序wx.request使用POST请求时后端无法获取数据解决办法插图

 

特别注意: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);
    }
}

 

 

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!
2.本站部分资源包有加密,加密统一密码为:www.51zhanma.cn
3. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
4. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
5. 如果您也有好的资源或教程,您可以投稿发布,用户购买后有销售金额的80%以上的分成收入!
6.如有侵权请联系客服邮件kefu@zhanma.cn
站码网 » 微信小程序wx.request使用POST请求时后端无法获取数据解决办法

发表评论

  • 1808本站运营(天)
  • 1943会员数(个)
  • 5310资源数(个)
  • 1287评论数(个)
  • 0 近 30 天更新(个)
加入 VIP