Jquery. Get () получает NULL в Internet Explorer - PullRequest
1 голос
/ 26 июля 2010

У меня проблема с вызовом AJAX в JQuery.Он работает на Chrome, FF и Safari, но не на IE.На самом деле в IE ничего не происходит, ошибок нет, данные не загружаются.

Вот код:

    $(document).ready(function() {

     $.ajaxSetup({ cache: false });

        $.get("ShoppingCart2.aspx", { }, function(data) {
           //query the jq object for the values

        alert(data);       
        alert($(data).find('#Items').text());


        var intI = parseInt(($(data).find('#Items').html()));

С данными оповещения я нахожу все данные со страницыЯ звоню, но, к сожалению, мои методы data.find отключаются для IE.Я не уверен, код это или браузер, но я действительно застрял.Спасибо за помощь.

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

Ответы [ 4 ]

2 голосов
/ 26 июля 2010

Попробуйте это (один раз на вашей странице / внешних js, перед вашими вызовами AJAX):

$.ajaxSetup({ cache: false });

IE любит кешировать, и если вы тестировалии в какой-то момент там не было контента, скорее всего, IE его держит.Использование $.ajaxSetup() и указание по умолчанию не кэшировать результаты AJAX должны решить эту проблему.Если вам интересно, он прикрепляет временную метку к URL-адресу в качестве прерывателя кеша под крышками, используйте fiddler, чтобы увидеть, как это происходит.

0 голосов
/ 28 июля 2010

Ну, я не смог заставить .find часть .get работать в Internet Explorer, но я нашел способ получить нужную мне информацию о ajax:

var information = $ .ajax ({тип: "GET", dataType: "html", url: "ShoppingCart2.aspx", data: querystring, async: false}). responseText + "";

Затем строка запроса передается на веб-сайтполучает информацию с сайта обратно в одну большую строку.Затем я манипулировал этой строкой, чтобы получить то, что мне было нужно.К сожалению, это намного медленнее, чем команда .get, но это исправление.

Спасибо за помощь всем!

0 голосов
/ 26 июля 2010

Быстрое решение без кодирования может состоять в том, чтобы нажать CTR + F5, чтобы очистить кэш при обновлении.

0 голосов
/ 26 июля 2010

Возможно, это кеширование AJAX?Что произойдет, если вы поставите это перед своим кодом:

$.ajaxSetup({ cache:false });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...