微信小程序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); } }
到此這篇關于微信小程序wx.request使用POST請求時后端無法獲取數據解決辦法的文章就介紹到這了,更多相關微信小程序使用POST請求時后端無法獲取數據內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Laravel 框架基于自帶的用戶系統(tǒng)實現登錄注冊及錯誤處理功能分析
這篇文章主要介紹了Laravel 框架基于自帶的用戶系統(tǒng)實現登錄注冊及錯誤處理功能,結合實例形式分析了laravel框架自帶用戶系統(tǒng)的基本使用方法及操作注意事項,需要的朋友可以參考下2020-04-04Yii中的relations數據關聯查詢及統(tǒng)計功能用法詳解
這篇文章主要介紹了Yii中的relations數據關聯查詢及統(tǒng)計功能用法,結合實例形式分析了關聯查詢命名空間及評論統(tǒng)計功能相關技巧,需要的朋友可以參考下2016-07-07再談Yii Framework框架中的事件event原理與應用
這篇文章主要介紹了再談Yii Framework框架中的事件event原理與應用,結合實例形式分析了再談Yii框架中的事件event相關原理、使用方法及操作注意事項,需要的朋友可以參考下2020-04-04PHP使用GIFEncoder類生成的GIF動態(tài)圖片驗證碼
這篇文章主要介紹了PHP使用GIFEncoder類生成的GIF動態(tài)圖片驗證碼,文中附帶GIFEncoder類源碼,需要的朋友可以參考下2014-07-07PHP htmlspecialchars() 函數實例代碼及用法大全
這篇文章主要介紹了PHP htmlspecialchars() 函數實例代碼及用法大全,需要的朋友可以參考下2018-09-09