위 챗 애플 릿 wx.request POST 요청 을 사용 할 때 백 엔 드 에서 데이터 해결 방법 을 가 져 올 수 없습니다.

만난 구덩이:
예 를 들 어 위 챗 애플 릿 인 터 페 이 스 를 쓸 때 method 요청 방식 은 POST 와 GET 두 가지 가 있 습 니 다.데이터 안전 을 위해 저 희 는 POST 요청 방식 으로 서버 에 접근 하 는 경향 이 있 습 니 다.
POST 방식 으로 요청 할 때 백 엔 드 에서 전송 인 자 를 가 져 올 수 없 지만 GET 방식 을 사용 하면 됩 니 다.
해결 방법:
요청 한 헤더 설정:

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 요청 을 사용 할 때 백 엔 드 에서 데 이 터 를 가 져 올 수 없습니다.이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기