복붙노트

[JQUERY] 어떻게 Internet Explorer에서 캐싱에서 jQuery를 Ajax 요청을 방지하기 위해?

JQUERY

어떻게 Internet Explorer에서 캐싱에서 jQuery를 Ajax 요청을 방지하기 위해?

해결법


  1. 1.당신은 예를 들어 $ .ajaxSetup ()를 사용하여 전 세계적으로 캐싱을 해제 할 수 있습니다 :

    당신은 예를 들어 $ .ajaxSetup ()를 사용하여 전 세계적으로 캐싱을 해제 할 수 있습니다 :

    $.ajaxSetup({ cache: false });
    

    요청을하는 경우는 쿼리 문자열에 타임 스탬프를 추가합니다. 특정 $의 아약스 () 호출, 세트 캐시 캐시를 해제하려면 : 거짓 그것에서 로컬로, 다음과 같이 :

    $.ajax({
      cache: false,
      //other options...
    });
    

  2. 2.당신은 고유의 매개 변수를 설정할 경우, 캐시는 예를 들어, 작동하지 않습니다

    당신은 고유의 매개 변수를 설정할 경우, 캐시는 예를 들어, 작동하지 않습니다

    $.ajax({
        url : "my_url",
        data : {
            'uniq_param' : (new Date()).getTime(),
            //other data
        }});
    

  3. 3.

    Cache-Control: no-cache, no-store
    

    이 두 헤더 값은 IE와 파이어 폭스 모두에서 필요한 효과를 얻기 위해 결합 될 수있다


  4. 4.여기에 응답 제안은 다음과 같습니다

    여기에 응답 제안은 다음과 같습니다

    http://www.greenvilleweb.us/how-to-web-design/problem-with-ie-9-caching-ajax-get-request/

    아이디어는 브라우저가 캐시 할 수 없습니다 때문에, 예를 들어 현재 날짜 시간을 포함하여 아약스 쿼리에 매개 변수를 추가하는 것입니다.

    링크 보라, 그것을 잘 설명되어 있습니다.


  5. 5.당신은 다음과 같이 정의 할 수 있습니다 :

    당신은 다음과 같이 정의 할 수 있습니다 :

    let table = $('.datatable-sales').DataTable({
            processing: true,
            responsive: true,
            serverSide: true,
            ajax: {
                url: "<?php echo site_url("your url"); ?>",
                cache: false,
                type: "POST",
                data: {
                    <?php echo your api; ?>,
                }
            }
    

    또는과 같습니다 :

    $.get({url: <?php echo json_encode(site_url('your api'))?>, cache: false})
    

    그것이 도움이되기를 바랍니다


  6. 6.이것은 이전 게시물이지만, IE는 당신에게 문제를 제공하는 경우. POST로 GET 요청을 변경하지 않고 IE는 더 이상를 캐시합니다.

    이것은 이전 게시물이지만, IE는 당신에게 문제를 제공하는 경우. POST로 GET 요청을 변경하지 않고 IE는 더 이상를 캐시합니다.

    나는 어려운 방법에서이 문제를 파악 너무 많은 시간을 보냈다. 희망이 도움이.

  7. from https://stackoverflow.com/questions/4303829/how-to-prevent-a-jquery-ajax-request-from-caching-in-internet-explorer by cc-by-sa and MIT license