PKSelect
  • Document
  • 프로젝트 개요
  • 프로젝트 준비
    • 개발환경 및 팀구성
    • 워크플로우
    • 사전조사 & 의사결정
      • 사전조사
      • 의사결정
        • 기능적 의사결정
        • 비기능적 의사결정
  • 프로젝트 설계
    • FRONTEND 설계 개요
      • FRONTEND 화면 흐름 및 동작
      • 콘텐츠 구성
        • Mainpage
        • Secondpage
      • 디자인 설계 의사결정
        • 디자인 컨셉 및 기능 정의
        • 컴포넌트 디자인
          • PC version
          • Mobile version
        • 로고결정
    • 시스템 구조 설계 개요
      • 시스템 흐름도 및 구조도
    • API Document
  • issue
    • FrontEnd
      • FrontEnd/Device classification issue
      • FrontEnd/cross browsing issue
    • BackEnd
      • BackEnd/lms_login_pw_issue
      • BackEnd/Circular Imports
    • Memo
  • 프로젝트 개발
    • FrontEnd
      • 페이지 UI
        • Mainpage
        • Loading page
        • SPA
        • Secondpage
          • Calendar
          • Table
            • 데이터 정렬
            • table
            • Button
              • 마감기한 지난 항목 삭제 <-> 확인 button
              • 과목 <-> 강의, 과제, 시험 button
              • 종강 D-day button
          • 피드백 이후 추가된 기능
      • 향후 개발 계획
    • BackEnd
      • Flask
        • PKSelecter/
        • controller/
        • app/
        • tests/
      • Server
        • AWS
        • Nginx + wsgi + Flask
        • (Sercurity) HTTPS
    • Prototype
  • 프로젝트 결과
    • 결과 보고
      • 개요
      • FrontEnd
      • BackEnd
      • PKSelect, Beta Service
      • 베타 서비스 설문조사
        • 서비스 사용성 평가
        • 베타 서비스 피드백
      • Google analytics 적용
      • 중간 발표 질문 정리
      • 최종 결과 보고
        • 피드백 적용 기능
Powered by GitBook
On this page

Was this helpful?

  1. 프로젝트 개발
  2. FrontEnd
  3. 페이지 UI

Mainpage

Previous페이지 UINextLoading page

Last updated 3 years ago

Was this helpful?

server와의 통신

사용자가 입력한 lms 아이디와 비밀번호를 서버에 넘기고 json의 형태로 응답을 받는다.

미리 작성해둔 API에 따라 method는 post 방식으로, 사용자의 LMS ID와 PW를 서버에 request를 보낸다.

function loginmove() {
    fetch("/login", {
            method: "POST",
            headers: {
                "Content-Type": "application/json",
            },
            body: JSON.stringify({
                pk_user_id: document.getElementById("username").value,
                pk_user_pw: document.getElementById("password").value,
            }),
        }).then((response => response.json()))
        .then(json => {
            if (json['status'] == 400) {
                 비밀번호가 틀렸을 때
             }else if (json['status'] == 500) {
                 서버 에러가 발생했을 때
             }else if (json['status'] == 200) {
                 사용자의 lms 데이터를 받아왔을 때
             }
 }

이때 json의 형태로 id와 password 값을 전송하기 때문에 Content-Type 헤더를 application/json로 설정했고 body에서는 JSON.stringify을 이용해서 JSON 문자열로 변환을 해서 request를 보내야 한다.

json 문자열로 응답받은 response는 js 객체로 변환하고, json의 'status’값에 따라 사용자에게 오류를 알리던지, secondpage로 넘어가 미제출 항목을 보여주게 된다.