微信小程式wx.request使用POST請求時後端無法獲取資料解決辦法
阿新 • • 發佈:2021-03-09
遇到的坑:
例如在寫微信小程式介面時,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'www.cppcns.com,data: { phone: _phone,openid: _openid},header: { "Contenthttp://www.cppcns.com-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 funcwww.cppcns.comtion _initialize(){ parent::_initialize(); } public function updatePhone(){ if(!isset($_POST['phone'])||!isset($_POST['openid'])){ header("Conten程式設計客棧t-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); } }
到此這篇關於微信小程TOFhRVoXVg序wx.request使用POST請求時後端無法獲取資料解決辦法的文章就介紹到這了,更多相關微信小程式使用POST請求時後端無法獲取資料內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!