2011-01-12 4 views
0

모든 양식은 Ajax에 의해 PHP 스크립트에 제출됩니다. 컨트롤러처럼 PHP 스크립트.일부 디자인 결정, 몇 가지 조언을 해 주시겠습니까?

나는 이것이 더 사용자 친화적 일 수 있다고 생각한다. 문제가 발생하면 사용자는 현재 페이지를 나갈 필요가 없습니다.

하지만 웹 사이트가 이런 방식으로 표시되지 않습니다.

그는 단점은 PHP 런타임이 게시 프로세스에서 두 번로드해야한다는 것입니다. 하나는 결과를 보여줍니다.

+1

가 이런 식으로 할 웹 사이트가 많이 있지만, 잠재적 인 단점입니다 JS 경우 더 이상 작동하지 않습니다. 당신의 질문은 정확히 무엇입니까? –

+0

두 가지 서버 요청을 피할 수 없습니다. 하나는 양식을로드해야하고 두 번째는 게시물을 처리해야합니다 (AJAX 또는 페이지 전환 여부). 물론, AJAX는 서버가 응답하기 위해 페이지를 다시 작성할 필요가 없으며, 처리 할 클라이언트 측 자바 스크립트에 필요한 데이터 만 되돌려 보내야합니다 (확인, 오류, 페이지의 영향을받는 부분 업데이트 등). 그러나 @Pekka가 암시하는 것처럼 가장 좋은 방법은 표준 "페이지 전환"게시물을 제공하고 자바 스크립트가 제출 동작을 무시하도록하는 것입니다. 그런 다음 모든 사용자 (심지어 비 js 사용자)가 처리됩니다. –

+0

@ David. Ajax 방식으로 처리되는 모든 양식, 심지어 "페이지 전환"게시물. "페이지 전환"게시물에서 아약스는 새로운보기에 대한 링크 만 제공합니다. – lovespring

답변

1

우선 Pekka가 주석을 달았으므로 아약스 기법을 사용하여 양식을 제출하는 웹 사이트가 많이 있습니다.

=> HTML 형태

=> 기본 이벤트를 제출 : 내가 제대로 질문을 해석하는 경우

는, 일반적으로, 나는 디자인면에서 "형태의 문제를"해결하는 가장 좋은 비동기 패턴이 생각 JS

에 의해 중단

=> JS 클라이언트 검사 (예 : 이메일/전화) 검증

백엔드 스크립트 (PHP, 자바, 루비 등)에 => 아약스 호출 - 그냥 한 번로드! 응답을 JS 처리

=> 아약스 호출 응답을, "메아리"

=> 서버 측 검사,

+0

"페이지 전환"게시물에도 여전히 아약스 컨트롤러에 게시 하시겠습니까? – lovespring

+0

"페이지 전환"게시물은 다른 컨트롤러 또는 동일한 페이지에서 Ajax 컨트롤러에 게시 될 수 있습니다.이 컨트롤러는 전체 페이지 응답을 생성 할 수 있습니다 (예 : 매개 변수가 전달 된 경우). – stecb

관련 문제