2

Backbone.js의 로그인/로그 아웃 제어 기능을 설정하는 방법에 대해 조금 확신하지 못합니다.로그인 및 로그 아웃 기능을위한 Backbone.js 아키텍처

이 내가 생각하고 무엇이지만,이 괜찮 있는지 확실하지 않습니다 또는이 구조에 문제가있는 경우 :

  • Model 현재 사용자입니다. 모델이 fetch() 일 때 HTTP 404 응답을 받으면 "현재 사용자"는 익명 사용자 여야합니다. 그렇지 않은 경우 Model은 현재 사용자의 정보를 보유합니다.
  • View : 현재 사용자가 "익명"이면
    • , 그것은 사용자 이름과 암호를 입력 상자를 보여줍니다; 및 "로그인"버튼이 있습니다.
    • 현재 사용자가 유효한 사용자 인 경우보기에는 현재 사용자의 사용자 이름과 "로그 아웃"버튼이 표시됩니다.

본인은 "로그인"하고 버튼을 누를 때 "로그 아웃"할 때 모델로 할 모르겠어요. 로그인 및 로그 아웃은 모델의 fetch() 기능을 통해 수행해야합니까? 아니면 해당 작업이 다른 POST 요청을 트리거해야합니까? 그 결과가 Model을 채우거나 Modelfetch()을 수행하도록 요청합니까?

모든 입력 사항에 감사드립니다.

이것은 당신이 질문 한 내용에 약간의 예상치 못한있을 수 있지만 내가 그것을 뽑아 한 방법이다

답변

1

: 당신은 자체 모델을 필요로하고 내가 대한 혼란 스러워요 왜

는 잘 모르겠어요 어떻게 사용하고 있는지. 따라서 저는 "모델"을 염두에두고 대답을 구성 할 수는 없습니다. 뷰에서

: 그래서 여기

내가 그것을 어떻게 그냥 로그인/로그 아웃에 대한 텍스트 상자. 서버의 응답이 다른 화면을보고 싶은 대상 페이지 200 변경 window.location 아닌 경우 일반 텍스트 :

에 희망 (사용자 이름/암호를 사용하여 서버에 POST 요청을 보내 "로그인"클릭에

"잘못된 사용자 이름/비밀 번호"(물론 "다음"페이지 또는 응용 프로그램의 다른 페이지는 사용자가 로그인했는지 확인해야합니다. 그렇지 않은 경우 로그인 페이지 표시).

이것은 가장 단순한 IMHO 해결책입니다. 왜 사용자를위한 모델이 필요한지 잘 모르겠습니다. 그 "후"로그인? 그런 다음 위의 200 응답의 일부로 생성하거나 보관할 수 있습니다. 그러나 모델은 페이지 변경을 통해 유지되지 않습니다. 말하자면 '다음'페이지에서 모델을 다시 만드는 것이 더 좋습니다.

(페이지 변경을 가정하고 페이지로드가 아닌 $.load - 후자 인 경우 항상 모델을 다시 사용할 수 있음).

희망적입니다. 그렇지 않다면 모델의 의도를 분명히 해 주시겠습니까? 아마도 그에 따라 내 대답을 업데이트 할 수있을 것입니다.

관련 문제