Топ-100
Форум Академгородка г. Новосибирска
 

Здравствуйте, гость ( Вход | Регистрация )


  Платные темы только через пользователя РЕКЛАМА НА ФОРУМЕ   Электронная почта forum@academ.info   
 
Ответить в данную темуНачать новую тему
> Ajax-jquery не выводит изображение, сформированное php-GD в IE 7
Astronom
Отправлено: 11.05.2011, 5:04
+Цитировать сообщение


Гуру
******

Группа: Участник
Сообщений: 3094
Регистрация: 10.11.2005
Из: планета Земля
Пользователь №: 16449




Не могу добиться, чтобы аjax-jquery выводил изображение, сформированное php-GD в IE

Собственно, код:

Код
var start=0;
$('#gallery a#next_g').click(function(next1){
next1.preventDefault();
start++;  
var fotolist=$(this).attr('href');
var queryfoto=fotolist.slice(fotolist.indexOf('?')+1);
$.ajax({
    url: "ajaxfoto.php",
       type: "post",
       dataType: "html",
       data: queryfoto+'&start='+start,
       beforeSend: function (){
                $('#image_loader_2').show();
       },
       success: function(data, status){
$('#imageslider img').attr('src', 'ajaxfoto.php?'+queryfoto+'&start='+start);
       },
       complete: function(){
        $('#image_loader_2').hide();
       }
   });
});


Вручную если ввожу параметры query_string, то все работает как надо во всех браузерах, включая и IE

Пробовал использовать

Код
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
// always modified
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
// HTTP/1.0
header("Pragma: no-cache");

в Php-скрипте, все равно не помогает.
Выручайте, коллеги.


--------------------
Смотрю порнографию для удовольствия и здоровья.
 
Перейти в начало страницы
Бян
Отправлено: 11.05.2011, 9:20
+Цитировать сообщение


Ветеран
*****

Группа: Опытный
Сообщений: 2078
Регистрация: 09.09.2003
Из: fishIsland
Пользователь №: 757




А если так?
Код
header("Content-Type: image/jpeg");



--------------------
Муж Жены Бяна
<hr/>
Hiding in Elvis
 
Перейти в начало страницы
Astronom
Отправлено: 11.05.2011, 13:37
+Цитировать сообщение


Гуру
******

Группа: Участник
Сообщений: 3094
Регистрация: 10.11.2005
Из: планета Земля
Пользователь №: 16449




Пробовал. На самом деле проблема оказалась в том, что надо было post а не get использовать.))
IE отличается отсутствием сообразительности, в отличие от других браузеров.
Банальная невнимательность - как следствие программирования в 5 часов утра))


--------------------
Смотрю порнографию для удовольствия и здоровья.
 
Перейти в начало страницы
Бян
Отправлено: 11.05.2011, 14:22
+Цитировать сообщение


Ветеран
*****

Группа: Опытный
Сообщений: 2078
Регистрация: 09.09.2003
Из: fishIsland
Пользователь №: 757




А зачем вы два раза загружаете одну и тоже изображение?


--------------------
Муж Жены Бяна
<hr/>
Hiding in Elvis
 
Перейти в начало страницы
Eyeless Watcher
Отправлено: 11.05.2011, 14:26
+Цитировать сообщение


Гуру
******

Группа: Опытный
Сообщений: 3966
Регистрация: 09.04.2007
Пользователь №: 45663




Кстати да, на кой черт тут вообще аякс-то? Просто src меняете у картинки, и оно само загрузится.
Если хочется показывать картинку только после того, как она загрузилась - показывайте в ее onload.
Со спиннером аналогично - включаете перед подменой src, выключаете в onload.
И да, зачем для картинки кэш-то отключать?
 
Перейти в начало страницы
Astronom
Отправлено: 11.05.2011, 14:27
+Цитировать сообщение


Гуру
******

Группа: Участник
Сообщений: 3094
Регистрация: 10.11.2005
Из: планета Земля
Пользователь №: 16449




Цитата(Бян @ 11.05.2011, 14:22) *
А зачем вы два раза загружаете одну и тоже изображение?

Изображения разные, так как параметр start увеличивается при каждом клике на 1 и соответственно на единицу большее значение передается в строке параметров для запроса из базы.


--------------------
Смотрю порнографию для удовольствия и здоровья.
 
Перейти в начало страницы
Astronom
Отправлено: 11.05.2011, 14:40
+Цитировать сообщение


Гуру
******

Группа: Участник
Сообщений: 3094
Регистрация: 10.11.2005
Из: планета Земля
Пользователь №: 16449




Цитата(Eyeless Watcher @ 11.05.2011, 14:26) *
Кстати да, на кой черт тут вообще аякс-то? Просто src меняете у картинки, и оно само загрузится.
Если хочется показывать картинку только после того, как она загрузилась - показывайте в ее onload.
Со спиннером аналогично - включаете перед подменой src, выключаете в onload.
И да, зачем для картинки кэш-то отключать?

С аяксом посовременнее смотрится, можно показать индикатор загрузки, которые многие так любят)))
А кеш я отключал, я просто слышал много историй про глюки IE с изображениями, сгенерированными скриптами php в духе <img src=index.php>
Он их типа кэширует и с обновлением изображений возникают сложности. Вернул его обратно. В моем случае проблема в другом оказалась.


--------------------
Смотрю порнографию для удовольствия и здоровья.
 
Перейти в начало страницы
Eyeless Watcher
Отправлено: 11.05.2011, 22:57
+Цитировать сообщение


Гуру
******

Группа: Опытный
Сообщений: 3966
Регистрация: 09.04.2007
Пользователь №: 45663




Цитата(Astronom @ 11.05.2011, 15:40) *
Цитата(Eyeless Watcher @ 11.05.2011, 14:26) *
Кстати да, на кой черт тут вообще аякс-то? Просто src меняете у картинки, и оно само загрузится.
Если хочется показывать картинку только после того, как она загрузилась - показывайте в ее onload.
Со спиннером аналогично - включаете перед подменой src, выключаете в onload.
И да, зачем для картинки кэш-то отключать?

С аяксом посовременнее смотрится, можно показать индикатор загрузки, которые многие так любят)))

Индикатор можно показать и без двух запросов за одной картинкой. У вас вообще результат аяксового запроса не обрабатывается, так зачем же он тогда?
 
Перейти в начало страницы
Astronom
Отправлено: 11.05.2011, 23:23
+Цитировать сообщение


Гуру
******

Группа: Участник
Сообщений: 3094
Регистрация: 10.11.2005
Из: планета Земля
Пользователь №: 16449




С чего вы взяли что он не обрабатывается? Все отлично обрабатывается.


--------------------
Смотрю порнографию для удовольствия и здоровья.
 
Перейти в начало страницы
Eyeless Watcher
Отправлено: 11.05.2011, 23:32
+Цитировать сообщение


Гуру
******

Группа: Опытный
Сообщений: 3966
Регистрация: 09.04.2007
Пользователь №: 45663




Цитата(Astronom @ 12.05.2011, 0:23) *
С чего вы взяли что он не обрабатывается? Все отлично обрабатывается.

Ну у вас там код коллбека как бэ написан. В котором данные, пришедшие в ответ, не используются.
 
Перейти в начало страницы
Astronom
Отправлено: 11.05.2011, 23:56
+Цитировать сообщение


Гуру
******

Группа: Участник
Сообщений: 3094
Регистрация: 10.11.2005
Из: планета Земля
Пользователь №: 16449




Цитата(Eyeless Watcher @ 11.05.2011, 23:32) *
Цитата(Astronom @ 12.05.2011, 0:23) *
С чего вы взяли что он не обрабатывается? Все отлично обрабатывается.

Ну у вас там код коллбека как бэ написан. В котором данные, пришедшие в ответ, не используются.

Ajax запрос возвращает вот это:
success: function(data, status){
$('#imageslider img').attr('src', 'ajaxfoto.php?'+queryfoto+'&start='+start);
},

то есть скрипт присваивает картинке в блоке новый путь, а по новому пути браузер ждет новое изображение, сгенерированное скриптом.
Просто data по сути это рисунок, так как скрипт возвращает header("content: image/{jpeg, gif, png}"), и этот же рисунок определяется по ссылке ajaxfoto.php?'+queryfoto+'&start='+start
Если я заменю на ссылку на data, что доказывает практика, ничего не изменится.


--------------------
Смотрю порнографию для удовольствия и здоровья.
 
Перейти в начало страницы
Eyeless Watcher
Отправлено: 12.05.2011, 0:01
+Цитировать сообщение


Гуру
******

Группа: Опытный
Сообщений: 3966
Регистрация: 09.04.2007
Пользователь №: 45663




Внимание, вопрос. Что изменится, если вместо всего аякса оставить только коллбек?
 
Перейти в начало страницы
Бян
Отправлено: 12.05.2011, 0:24
+Цитировать сообщение


Ветеран
*****

Группа: Опытный
Сообщений: 2078
Регистрация: 09.09.2003
Из: fishIsland
Пользователь №: 757




Цитата(Astronom @ 11.05.2011, 14:40) *
А кеш я отключал, я просто слышал много историй про глюки IE с изображениями, сгенерированными скриптами php в духе <img src=index.php>
Он их типа кэширует и с обновлением изображений возникают сложности. Вернул его обратно. В моем случае проблема в другом оказалась.

Я так и не понял в чём)


--------------------
Муж Жены Бяна
<hr/>
Hiding in Elvis
 
Перейти в начало страницы
Astronom
Отправлено: 12.05.2011, 2:15
+Цитировать сообщение


Гуру
******

Группа: Участник
Сообщений: 3094
Регистрация: 10.11.2005
Из: планета Земля
Пользователь №: 16449




Цитата(Eyeless Watcher @ 12.05.2011, 0:01) *
Внимание, вопрос. Что изменится, если вместо всего аякса оставить только коллбек?

И правда, ничего не изменится. Действительно, тогда в данном случае в аяксе нет никакой необходимости... Урезал скрипт в 2 раза по размеру)


--------------------
Смотрю порнографию для удовольствия и здоровья.
 
Перейти в начало страницы
Astronom
Отправлено: 12.05.2011, 2:29
+Цитировать сообщение


Гуру
******

Группа: Участник
Сообщений: 3094
Регистрация: 10.11.2005
Из: планета Земля
Пользователь №: 16449




Цитата(Бян @ 12.05.2011, 0:24) *
Цитата(Astronom @ 11.05.2011, 14:40) *
А кеш я отключал, я просто слышал много историй про глюки IE с изображениями, сгенерированными скриптами php в духе <img src=index.php>
Он их типа кэширует и с обновлением изображений возникают сложности. Вернул его обратно. В моем случае проблема в другом оказалась.

Я так и не понял в чём)

В нехватке знаний)


--------------------
Смотрю порнографию для удовольствия и здоровья.
 
Перейти в начало страницы

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Удалить установленные форумом cookies · Отметить все сообщения прочитанными
RSS Текстовая версия