Требует ли jquery метка времени для вызовов GET в IE7? - PullRequest
4 голосов
/ 15 июня 2010

Пожалуйста, смотрите код jQuery ниже, он использовался для разбивки на страницы некоторых результатов поиска

paginate: function() {
        $("#wishlistPage .results").html("<div id='snakeSpinner'><img src='"+BASE_URL+"images/snake.gif' title='Loading' alt='...'/></div>");
        var url = BASE_URL+"wishlist/wishlist_paginated/";
        $.ajax({
            type: "GET",
            url: url,
            data: {
                sort_by:$('#componentSortOrder input:hidden').val(),
                offset:My.WishList.offset,
                per_page: 10,
                timestamp: new Date().getTime() 
            },
            success: function(transport){
                $("#wishlistPage .results").html(transport);
            }
        });
    },

Моя проблема не связана с разбиением на страницы, проблема в том, что когда мне нужно вызвать эту же функцию, когда что-то переместилось на другую часть страницы, которая удаляет некоторые результаты поиска, это приводит к старым результатам в IE7, другие браузеры работают нормально. Поэтому добавлена ​​отметка времени: новая часть Date (). GetTime (). Это исправило проблему IE.

Я хочу знать, почему это происходит в jQuery? Нужно ли включать параметр метки времени в URL, чтобы избежать кэширования во всех вызовах jQuery Ajax?

1 Ответ

10 голосов
/ 15 июня 2010

Короче говоря, да . IE обычно не подчиняется правилам кэширования, но jQuery также может автоматически добавить этот параметр для вас, просто используйте параметр cache: false , например:

    $.ajax({
        type: "GET",
        url: url,
        cache: false,
        data: {
            sort_by:$('#componentSortOrder input:hidden').val(),
            offset:My.WishList.offset,
            per_page: 10,
            timestamp: new Date().getTime() 
        },
        success: function(transport){
            $("#wishlistPage .results").html(transport);
        }
    });

Результат тот же, он добавляет временную метку к URL, Вы можете увидеть код здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...