AJAX와 PHP
AJAX는 보다 대화형 애플리케이션을 만드는 데 사용됩니다.
AJAX PHP 예제
다음 예제는 사용자가 입력 상자에 문자를 입력할 때 웹 페이지가 웹 서버와 통신하는 방법을 보여줍니다. :
예
입력 상자에 다음과 같이 이름을 입력해 보세요. Anna:
이름:
반환값:
예제 설명 - HTML 페이지
위 입력창에 사용자가 문자를 입력하면 "showHint()" 함수가 실행됩니다. 이 함수는 "onkeyup" 이벤트에 의해 실행됩니다:
在输入框中输入一个姓名:
返回值:
소스 코드 설명:
입력 상자가 비어 있는 경우(str.length==0), 이 함수는 함수는 txtHint 자리 표시자의 내용을 지우고 함수를 종료합니다.
입력 상자가 비어 있지 않으면 showHint()는 다음 단계를 수행합니다.
1) XMLHttpRequest 객체를 생성합니다.
2) 다음 단계를 수행합니다. 서버 응답이 준비되면 실행
3) 서버에 있는 파일에 요청 보내기
4) URL 끝에 추가된 매개변수(q)에 주의하세요( 입력 상자의 내용)
참고:위의 예에서는 JavaScript에 대한 많은 지식이 사용되었습니다. JavaScript 자습서
PHP 파일
위에서 JavaScript를 통해 호출되는 서버 페이지는 "gethint.php"라는 이름의 PHP 파일입니다.
"gethint.php"의 소스 코드는 이름 배열을 확인하고 해당 이름을 브라우저에 반환합니다.
0 if (strlen($q) > 0) { $hint=""; for($i=0; $i
설명:JavaScript가 텍스트(예: strlen($q) > 0),
1. JavaScript에서 보낸 문자와 일치하는 이름을 찾습니다.
2. 일치하는 항목이 없으면 "로 설정합니다. 제안 없음"
3. 일치하는 이름이 하나 이상 발견되면 모든 이름으로 응답 문자열을 설정합니다.
4. 응답을 "txtHint" 자리 표시자
로 보냅니다.요약: HTML 형식 반환
HTML은 일부 일반 텍스트로 구성됩니다. 서버가 XMLHttpRequest를 통해 HTML을 보내는 경우 텍스트는 responseText 속성에 저장됩니다.
responseText 속성에서 데이터를 읽을 필요는 없습니다. 이미 원하는 형식으로 되어 있어 페이지에 직접 삽입할 수 있습니다.
HTML 코드를 삽입하는 가장 쉬운 방법은 이 요소의 innerHTML 속성을 업데이트하는 것입니다.
장점:
서버에서 전송된 HTML 코드는 브라우저 측에서 JavaScript로 구문 분석할 필요가 없습니다.
HTML은 읽을 수 있습니다.
HTML 코드 블록은 효율성을 높이기 위해 innerHTML 속성과 쌍을 이룹니다.
단점:
AJAX를 통해 문서의 여러 부분을 업데이트해야 하는 경우 HTML은 적합하지 않습니다.
innerHTML은 DOM 표준이 아닙니다.
PHP Ajax 크로스 도메인 문제 해결
비동기 요청이 도메인 간을 수행해야 하는 경우 PHP Ajax 도메인 간 문제 해결 방법을 확인해 보세요.