JQuery AJAX вызов не удается только в IE - PullRequest
3 голосов
/ 04 июня 2010

Этот запрос ajax проверяет, существует ли файл TIF в определенном каталоге, и либо устанавливает кнопку для открытия файла, либо для отображения сообщения об ошибке, если его там нет.

        $.ajax(
        {
            cache: false,
            url: directory,
            success: function() { $("#img" + row).click(function() { window.location.href = directory; return false; }) },
            error: function(data) { alert(data.responseText); $("#img" + row).click(function() { $("#ImageDialog").dialog("open"); return false; }) }
        });

Иногда, но не всегда, IE8 возвращает ошибку, даже если файл существует, а FF и Chrome возвращают успехи. Я добавил «alert (data.responseText)», пытаясь отладить проблему, но я так и не получил окно с предупреждением. Вместо этого IE не выдает «Системная ошибка: -1072896748».

Что происходит?

Ответы [ 2 ]

0 голосов
/ 07 июня 2010

Хорошо, я думаю, что нашел причину / решение, опубликованное здесь: IE не запускает JQuery Ajax success

Там написано, что

IE, по-видимому, вызывает сбой, если он не может проанализировать ответ как xml, даже если запрос был успешным, поэтому, если вы запрашиваете изображение, например, он вернет xhr.status 200 в блок ошибок. Я прикрепил свою функциональность «успеха» в блоке успеха для FF и в блоке ошибок, заключенном в условное выражение «if (xhr.status == 200)».

0 голосов
/ 04 июня 2010

Возможно, это связано с проблемами кодирования (ваш контент находится в другой кодировке, чем обещает).Смотри http://keelypavan.blogspot.com/2006/07/system-error-1072896658-in-ie.html.

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