> 웹 프론트엔드 > JS 튜토리얼 > jQuery ajax Load가 캐시_jquery를 사용하지 못하도록 방지하는 방법 요약

jQuery ajax Load가 캐시_jquery를 사용하지 못하도록 방지하는 방법 요약

WBOY
풀어 주다: 2016-05-16 16:58:39
원래의
1005명이 탐색했습니다.

1. 사용법
jquery의 로드 함수는 다른 파일을 요청하고 이를 현재 DOM에 로드하는 호출입니다. load( url, [data], [callback] ) (매개변수가 없으면 GET 요청, 매개변수가 있으면 POST 메소드라는 점에 유의하세요).

* url: 은 가져올 파일의 주소를 의미합니다.
* 데이터: 선택적 매개변수; Load는 정적 HTML 파일뿐만 아니라 PHP 파일과 같은 동적 스크립트도 가져올 수 있으므로 동적 파일을 가져오려는 경우 전달된 매개변수를 가져올 수 있습니다. 여기에 배치됩니다.
* 콜백: 선택적 매개변수는 로드 메소드를 호출하고 서버로부터 응답을 받은 후 실행되는 또 다른 함수를 의미합니다.

캐싱을 사용하면 페이지 로딩 속도가 어느 정도 빨라지지만 종종 문제가 발생합니다. 이전 기사에서는 jQuery의 Load 메서드 사용에 대해 간략하게 소개했습니다. 실제 애플리케이션에서는 브라우저 캐시 문제가 발생할 수 있습니다. 예를 들어 IE7에서 이 문제가 발생했습니다.

jQuery 로드 샘플 코드:

코드 복사 코드는 다음과 같습니다.

$(document).ready(function(){
$("#labels").load("/blog/categories/labels.html");
//페이지가 다음과 같은 경우 로드된 ID에서 labels.html의 내용을 #labels
}의 DOM 요소에 삽입하세요.

labels.html을 업데이트한 후에도 IE7의 로드 메소드는 여전히 이전 방식을 사용합니다. labels.html, 새로고침 키를 눌러도 작동하지 않습니다. 다행스럽게도 jQuery는 ajax가 캐시를 사용하는 것을 방지하는 방법을 제공하여 문제를 해결하기 위해 헤드 자바스크립트 파일에 다음 명령문을 추가합니다.
코드 복사 코드는 다음과 같습니다.

$.ajaxSetup({
캐시 : false / /AJAX 해당 캐시를 닫습니다
})

이외에도 캐시 문제를 해결하는 몇 가지 방법을 소개하겠습니다. 참고: jQuery 로드 문제에 대해서는 테스트하지 않았습니다. 이 방법은 참조용일 뿐입니다!

1. labels.html을 labels_new.html로 변경하는 등 파일 이름을 변경합니다. 그러나 이것은 당연한 일이며 일반적으로 아무도 이 작업을 수행하지 않습니다.

2. labels.html?20081116과 같이 labels.html 뒤에 특정 시간을 추가합니다. 실제 작업에서는 css/javascript 파일을 업데이트한 후 파일이 캐시되는 것을 방지하기 위해 항상 이 방법을 사용합니다.

3. labels.html 파일 상단에 다음 명령문을 추가합니다.


4. 로드 함수는 HTML을 호출할 수 있을 뿐만 아니라 labels.php와 같은 스크립트도 호출할 수 있습니다.

코드 복사 코드는 다음과 같습니다:

header("Cache-Control: no-cache, must-revalidate") ;
?>

다른 두 가지 해결 방법:
요청 경로의 현재 시간에 시간 매개변수 값을 추가하거나 Field 형식의 숨겨진 값은 필드 값을 현재 시간으로 설정합니다.
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿