사용자가 웹 응용 프로그램에 방금 데이터를 게시하고 성공 또는 실패에 대한 메시지와 함께 현재 페이지를 다시 표시한다고 가정 해보십시오. 이것은 복잡해진다.HTTP POST에서 발송할 수있는 모든 방법을 어떻게 처리합니까?
데이터가 유효하고 사용자가 html을 기다리는 경우 새로 고침을 통해 다시 게시하지 않도록 리디렉션을 보내려합니다. 리퍼러가있는 경우 해당 리퍼러로 리디렉션하고 메시지를 표시하려고합니다. 그들이 html을 기대하지 않는다면, 단순히 200 OK를 반환 할 수 있습니다.
데이터가 유효하지 않고 사용자가 html을 기다리고있는 경우 사용자가 원래 만든 페이지를 다시 렌더링하고 눈에 보이는 오류가있어서 다시 게시 할 수 있습니다. 이렇게하려면 이전 작업을 실행하고 오류 메시지를 알리십시오. 이전 작업을 결정하려면 어쩌면 양식에 숨겨진 매개 변수로 포함 시켰을 것입니다. html을 기대하지 않으면 해당 4xx 클라이언트 오류를 반환 할 수 있습니다.
저는이 바보 같은 춤을 너무 많이 여러 번하고 있습니다. 따라서 질문은 다음과 같습니다.
1) 양식 게시가이를 활용할 수 있도록이 전체 프로세스를 어떻게 요약 하시겠습니까?
2) 가장 좋아하는 웹 프레임 워크에서 이것을 유지하기 위해 가장 유지 관리가 쉽거나 반복되는 방법은 무엇입니까?
3) 전체 프로세스를 변경하면 더 간단해질 수있는 것이 있습니까?
아이디어 1 : 게시물에는 렌더링하지 말고 항상 리디렉션하십시오. 성공 메시지와 마찬가지로 세션간에 오류 데이터를 요청간에 분할하여 입력 한 다음 지 웁니다. 이렇게하면 유효한 게시물과 잘못된 게시물을 같은 방식으로 처리 할 수 있습니다.
아이디어 2 : 일반적인 HTTP 게시물을 사용하지 마십시오. 아약스 만 사용하십시오. 이제는 렌더링이나 리디렉션에 대해 걱정할 필요가 없습니다. 이것은 Ajax가 많은 애플리케이션이 이미있는 경우에만 유용합니다.
나는 어디에서 왔는지 모를 것으로 추정하고 있습니다. 나는 종종 다른 페이지에서 동일한 URL에 게시하고 작업을 다시 사용하려는 상황에 처해 있습니다. 데이터가 유효하지 않고 리디렉션 대신 렌더링하는 경우 이전 작업을 이해해야합니다. 나는 리퍼러로부터 이것을 아직도 이해할 수 있다고 생각한다. –