내가 PHP + AJAX와 함께보다 역동적하고 싶습니다 프로젝트에서 일하고 있어요으로 게시물을 보낼 수 있습니다. Javascript를 완전히 사용하기 때문에 AJAX 부분에 jQuery가 사용됩니다. 어쨌든 가치있는 것으로 보입니다. 내 응용 프로그램에서 양식을 사용하여 게시물을 보내야하는 시점에 도달했으며,이 작업을 수행하기 위해 ajax 호출을 사용하려고합니다. 내가 게시하고 싶은 페이지에는 최근 제출 된 15 개의 게시물 목록도 있습니다.
첫 번째 질문 : 그냥 잊어 버리고 PHP 만 사용해야합니까?
액션
사용자는 내가 $("#myPostSubmit").live('click', function() { /* here i make the ajax call */ });
같은과의 jQuery 스크립트를 관리 할 수 있습니다 핸들러하다는 <a id="myPostSubmit">Submit</a>
에 <textarea></textarea>
수와 클릭 수에 뭔가를 기록합니다. 게시물이 성공적으로 제출되면 무언가를 할 것입니다 (다음 섹션에서 이야기 할 것입니다). 내 showAlert(text)
함수를 사용하여 사용자에게 알리거나, text
과 함께 4 초 동안 블랙 박스를 표시합니다.
두 번째 질문 : 나는 클릭 이벤트는 다른 방법으로 관리해야 하는가?
sendpost(post)
과 같은 함수를 만들고이를onclick=""
이벤트에 첨부해야하나요?
포스트가 성공적으로
를 전송되면 나는 토론을 약 2 옵션을 열 것입니다 : 우리는 페이지를 새로 고침
[전체 페이지를로드하지만 을 실제로 을 게시물 목록을 검색하여 이전의 이 사라지는 또 다른 아약스 호출은 PHP 파일을 에로드하여 새 게시물을 검색합니다. s (방금 보낸 편지 포함)을 입력 한 다음 의 게시물 목록을 표시하십시오.] Pro : 1) 게시 목록이로드 된 후 사용자가 읽고있는 내용이 실제 보낸 게시물임을 확신합니다. 그래서 실제로 실제로 동작을 두 번 확인합니다. 2) 우리는 또한 가능한 한 몇 가지 가능한 게시물을로드합니다. 단점 : 1) 게시 목록 템플릿을 가져 오는 PHP 파일을 만들어서 해당 페이지의 템플릿을 2 개의 파일로 분할해야합니다. 2) 그것은 나에게 매끄럽게 보이지 않습니다.
게시 템플릿을 가져 오기 위해 Javascript 만 사용하여 목록에 추가합니다. Pro : 1) 전체 페이지를 다시로드하지 않고도 원활하게 처리합니다. 2) 페이지를 새로 고치려면 PHP 파일이 필요 없습니다. Javascript (jQuery) 만 사용합니다. 단점 : 1) 포스트 html 템플릿을 어떻게 목록에 추가 할 수 있습니까? 2) PHP없이 사용자 (기록 된) 정보를 얻으려면 어떻게해야합니까?
세 번째 질문 : 그것은 더 나은 첫번째 또는 두번째 해결책인가? 더 나은 세 번째 솔루션을 제공하겠습니까?
PHP의 페이지
이 AJAX 호출을받을 PHP 페이지는 다음과 같습니다 ?p=action&a=sendpost
. 페이지에 $_POST['myMessage']
을 설정해야하며 비어 있지 않으며 다른 것은 필요하지 않습니다. 페이지 자체는 쿠키에서 모든 사용자 정보를 가져와 필요한 쿼리를 수행 할 수 있습니다.
응용 프로그램
그것은 3 개 부분으로 나누어 져 있습니다 : 앱, 템플릿, 도서관. 기본적으로 응용 프로그램의 각 페이지에는 자체 .app.php
및 .tpl.php
파일이 있습니다.
.app.php
파일은 라이브러리에서 클래스 및 기타 물건을 사용하여 페이지의 기초의 건물 을 관리합니다. 우리의 경우 데이터베이스에서 데이터를 검색하여 변수에 넣습니다.- 템플릿은
.app.php
파일의 끝에 호출됩니다..app.php
파일은 검색된 데이터를 템플릿에 보내고.tpl.php
파일이이를 출력합니다. - 라이브러리는 응용 프로그램 파일에 필요한 클래스와 함수를 포함하는 데 사용됩니다.
네 번째 질문 :이 내 웹 응용 프로그램을 관리하는 좋은 방법이 있나요?
편집 : 사용자에게 경고 메시지를 보내면 어떨까요?
성공 또는 오류시 응답을 관리 할 수있는 $.ajax()
내부의 옵션에 대해 읽었습니다. 그것에 관한 문서는 매우 간단하고 이해하지 못했습니다.
다섯 번째 질문 : 나는 오류 또는 성공 (PHP 파일에서) 반환해야 어떻게?
jQuery 양식 플러그인 (http://malsup.com/jquery/form)을 고려 했습니까? – Tomba
실제 문제는 제출 프로세스가 아니라 다음 (게시물 목록 새로 고침)에서 발생합니다. 어쨌든 jQuery 양식 플러그인 덕분에 도움이 될 것입니다. – Shoe
http://api.jquery.com/jQuery.post/ – Michael