5. Ajax 빠른 시작
ajax 코드:
PHP 프로그램:
6. 데이터 보내기
Ajax get 요청 시 전송할 데이터를 URL 끝에 추가해야 합니다
Ajax 게시 요청 시 전송할 데이터를 전송 메소드의 매개변수에 배치해야 합니다
Ajax 코드:
PHP 코드:
요청한 URL을 의도적으로 잘못 작성했습니다. 존재하지 않는 URL을 요청하더라도 결국 ajax 객체의 상태 코드는 4가 되고 해당 명령문이 실행된다는 사실을 발견했습니다. 요청이 오류 페이지이면 해당 문을 실행하면 안 됩니다
해당 사항을 수정하세요
ajax를 사용하여 두 숫자의 합 계산
7. 캐시 문제 해결
위 질문:
PHP의 덧셈을 뺄셈으로 변경
이전 요청 매개변수를 사용한 경우에도 여전히 추가인 것으로 확인됩니다. 새로운 요청 매개변수인 경우 빼기입니다.
해결책 1: 난수
수학.랜덤()
URL 뒤에 js 난수를 생성하여 이번에 요청한 URL이 고유하도록 매번 최신 데이터가 반환되도록 합니다
그러나 이 방법은 캐싱 문제를 근본적으로 해결하지 못하고, 단지 대량의 캐시 파일을 생성할 뿐이라는 것을 알고 있습니다
한 가지 더: 임의의 숫자는 이 URL이 완전히 고유하다는 것을 보장하지 않습니다
해결책 2:
시간
new Date().getTime(); //밀리초 타임스탬프 가져오기
위 메소드는 URL에 타임스탬프를 직접 추가하여 현재 URL을 고유하게 만듭니다. 실행 측면에서 이 메소드는 항상 고유합니다
그러나 임시 파일 아래에 여전히 많은 수의 캐시 파일이 생성됩니다.
해결책 3. 요청 헤더 설정
setRequestHeader("If-Modified-Since","0");
원리: http 요청을 보내기 전에 ajax 개체를 사용하여 http 요청 헤더 정보를 설정합니다. 이는 현재 요청 중인 리소스의 마지막 수정 시간이 "0"임을 나타내는 것이며, 서버가 이 시간을 얻은 후 비교됩니다. 서버에 있는 파일과 마지막 수정 시간을 비교하여, 다르면 가장 최근의 실행 결과를 반환합니다.
이렇게 하면 결국에는 항상 캐시 파일이 하나만 남게 됩니다.
해결책4. 응답 헤더 설정
header("캐시 제어: 캐시 없음, 재검증 필수");
PHP의 헤더 기능을 사용하여 응답 헤더에 데이터를 씁니다. 클라이언트에게 이 결과를 캐시하지 말라고 알리는 것입니다.
이러한 접근 방식은 캐시 파일을 생성하지 않고도 캐싱 문제를 근본적으로 해결할 수 있습니다.
질문 예시:
사용자 이름을 사용할 수 있는지 확인
위에는 ajax2 - 캐쉬 문제 해결 - php(28) 내용을 포함하여 소개하고 있는데, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.