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

遇到的坑:

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

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

解决办法:

设置请求的 header头:

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

e570ed1609c8d23bfbfc820d233d5b5e.png

特别注意: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后端控制器代码:

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请求时后端无法获取数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值