JQuery.Get () вытягивает ПУСТОЙ УКАЗАТЕЛЬ в Internet Explorer

У меня есть проблема с вызовом 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.

1
задан Sumurai8 26 June 2015 в 17:24
поделиться

4 ответа

Мне не удалось заставить часть .find в .get работать в internet explorer, но я нашел способ получить нужную мне информацию ajax:

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

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

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

0
ответ дан 2 September 2019 в 22:45
поделиться

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

$.ajaxSetup({ cache:false });
0
ответ дан 2 September 2019 в 22:45
поделиться

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

0
ответ дан 2 September 2019 в 22:45
поделиться

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

$.ajaxSetup({ cache: false });

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

2
ответ дан 2 September 2019 в 22:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: