>  기사  >  위챗 애플릿  >  WeChat 애플릿에서 세션 관리를 개발하는 방법은 무엇입니까? 튜토리얼 소개

WeChat 애플릿에서 세션 관리를 개발하는 방법은 무엇입니까? 튜토리얼 소개

青灯夜游
青灯夜游앞으로
2020-07-11 17:19:305853검색

WeChat 애플릿에서 세션 관리를 개발하는 방법은 무엇입니까? 튜토리얼 소개

WeChat 애플릿 개발에서 wx.request()에 의해 시작된 각 요청은 서버에 대한 다른 세션입니다. WeChat 애플릿은 세션 정보를 다시 서버로 가져오지 않습니다. 즉, 해당 서비스 다른 세션입니다. 세션은 프로젝트에서 사용자 정보를 저장하는 데 사용되므로 후속 요청은 로그인하지 않는 것과 동일합니다.

여기서의 세션은 미니 프로그램이 wx.login() 메서드를 통해 유지 관리하는 세션이 아니라 우리 자체의 서버 측 세션이라는 점에 유의하세요.

일반적인 상황에서는 클라이언트가 서버에 요청을 시작하면 세션 정보가 쿠키에 저장되었다가 요청 헤더 형식으로 서버로 다시 가져오는데, 요청 헤더의 특정 정보가 세션입니다. id, 아래 그림과 같이

WeChat 애플릿에서 세션 관리를 개발하는 방법은 무엇입니까? 튜토리얼 소개

빨간색으로 표시된 것은 요청 시 서버로 반환되는 요청 헤더를 가지고 다녀야 하므로 JESSIONID 값이 필요합니다. 다행스럽게도 WeChat 애플릿은 요청 헤더에 대한 지원도 제공합니다.

해결책:

1. 사용자가 로그인하면 서버는 사용자의 sessionId를 반환합니다.

2 애플릿은 sessionId를 저장하고 각 후속 요청의 요청 헤더에 sessionId를 전달합니다.

서버의 키 코드:

sessionId를 얻는 방법, 요청을 받는 한 쉽게 얻을 수 있습니다. object

Sting sessionId = request.getSession().getId();

sessionId를 입력하세요.

...//登录时的业务代码
response.getWriter.write(sessionId);//把sessionId返回给前台

로 돌아갑니다. 애플릿에 로그인한 후 sessionId를 전역 변수에 저장합니다. App.js는 전역 변수를 저장하기에 좋은 곳입니다.

...//登录后的逻辑处理
getApp().globalData.header.Cookie = \'JSESSIONID=\' + _data.sessionId;

app.js

globalData:{
header:{\'Cookie\': \'\'} //这里还可以加入其它需要的请求头,比如\'x-requested-with\': \'XMLHttpRequest\'表示ajax提交,微信的请求时不会带上这个的
},

의 코드는 애플릿을 요청할 때 sessionId를 가져옵니다

var header = getApp().globalData.header; //获取app.js中的请求头
wx.request({
url: localhost:8080/xx/xx,
header: header, //请求时带上这个请求头
success:function(res){
  }
}

자신만의 요청 정보를 캡슐화하고 몇 가지 공통 로직을 처리하는 것이 좋습니다.

추천: "Mini 프로그램 개발 튜토리얼"

위 내용은 WeChat 애플릿에서 세션 관리를 개발하는 방법은 무엇입니까? 튜토리얼 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제