Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 28.11.2013, 09:20
Интересующийся
Отправить личное сообщение для EvgLuch Посмотреть профиль Найти все сообщения от EvgLuch
 
Регистрация: 30.10.2013
Сообщений: 24

Сообщение от Ruslan_xDD Посмотреть сообщение
EvgLuch, поставьте jQuery версии 1.8.
Не помогает!
Ответить с цитированием
  #12 (permalink)  
Старый 28.11.2013, 09:58
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

EvgLuch, много дублей всего чего только можно, зачем несколько php, оптимизируйте код.
Ответить с цитированием
  #13 (permalink)  
Старый 02.12.2013, 01:40
Интересующийся
Отправить личное сообщение для EvgLuch Посмотреть профиль Найти все сообщения от EvgLuch
 
Регистрация: 30.10.2013
Сообщений: 24

Сообщение от Rise Посмотреть сообщение
EvgLuch, много дублей всего чего только можно, зачем несколько php, оптимизируйте код.
Думаете, причина проблемы с IE в не корректно написанном коде?
Ответить с цитированием
  #14 (permalink)  
Старый 04.12.2013, 05:23
Интересующийся
Отправить личное сообщение для EvgLuch Посмотреть профиль Найти все сообщения от EvgLuch
 
Регистрация: 30.10.2013
Сообщений: 24

Для эксперимента убрал всё "большое" с кода и оставил минимум: html, css, собственно сам jQuery, php-скрип с запросом текущего времени (с секундами) и js-скрипт с функцией setTimeout, который раз в секунду берёт данные с php и вставляет их в див html.
Ситуация такая же! В IE 8,9,10 обновления простейшего таймера не происходит (в див загружаются данные единыжды и на этом всё встаёт), а в остальных браузерах скрипты успешно работают!

Скрипт в файле js для загрузки файла php:

setTimeout(function() {
updateInfo();
}, 1000);

function updateInfo()
{
$.ajax({
type: "GET",
url: "time_server.php",
success: function(data){$('#timeServer').html('Server Time: ' + data)}
});
};

Скрипт в файле php для получения текущего времени:

<?php
echo date("H:i:s");
?>


В чём может быть загвоздка?
Ответить с цитированием
  #15 (permalink)  
Старый 04.12.2013, 08:17
Интересующийся
Отправить личное сообщение для EvgLuch Посмотреть профиль Найти все сообщения от EvgLuch
 
Регистрация: 30.10.2013
Сообщений: 24

Ок. Эту проблему решил: указал вместо типа GET тип POST. Теперь понятно: IE не любит GET, а любит POST.

А как теперь основной код, где используется getjson перевести в POST? Кто-нибудь сталкивался с такой задачей?
Ответить с цитированием
  #16 (permalink)  
Старый 04.12.2013, 12:07
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от EvgLuch Посмотреть сообщение
с функцией setTimeout, который раз в секунду берёт данные с php и вставляет их в див html...(в див загружаются данные единыжды и на этом всё встаёт)
так и должно быть setTimeout в твоем случае отработывает один раз через 1 секунду и всё
Сообщение от EvgLuch Посмотреть сообщение
Теперь понятно: IE не любит GET, а любит POST
это не так...
Ответить с цитированием
  #17 (permalink)  
Старый 04.12.2013, 12:22
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от EvgLuch Посмотреть сообщение
В чём может быть загвоздка?
function updateInfo() {
	$.ajax({
		type: "GET",
		url: "time_server.php",
		success: function(data) {
			$('#timeServer').html('Server Time: ' + data);
			setTimeout(updateInfo, 1000);
		}
	});
};
updateInfo();
Ответить с цитированием
  #18 (permalink)  
Старый 04.12.2013, 19:07
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus3
 
Регистрация: 18.11.2013
Сообщений: 275

Сообщение от EvgLuch
Думаете, причина проблемы с IE в не корректно написанном коде?
я думаю да, из-за некорректно написанного кода ты наткнулся на какой-то баг который обычные браузеры худо бедно переварили, а ишак заступорился. так часто бывает.
Ответить с цитированием
  #19 (permalink)  
Старый 05.12.2013, 01:55
Интересующийся
Отправить личное сообщение для EvgLuch Посмотреть профиль Найти все сообщения от EvgLuch
 
Регистрация: 30.10.2013
Сообщений: 24

Сообщение от Rise Посмотреть сообщение
так и должно быть setTimeout в твоем случае отработывает один раз через 1 секунду и всё
это не так...
Но ведь во всех браузерах, кроме IE, setTimeout работает как часы - не прерывно посекундно обновляется таймер? Почему в IE так не происходит, почему там один раз всего загрузка происходит?
Ответить с цитированием
  #20 (permalink)  
Старый 05.12.2013, 01:57
Интересующийся
Отправить личное сообщение для EvgLuch Посмотреть профиль Найти все сообщения от EvgLuch
 
Регистрация: 30.10.2013
Сообщений: 24

Сообщение от Rise Посмотреть сообщение
function updateInfo() {
	$.ajax({
		type: "GET",
		url: "time_server.php",
		success: function(data) {
			$('#timeServer').html('Server Time: ' + data);
			setTimeout(updateInfo, 1000);
		}
	});
};
updateInfo();
Аналогично. Начинает нормально работатать, только если (и в моём и в твоём варианте) GET менять на POST.

Последний раз редактировалось EvgLuch, 06.12.2013 в 01:51.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ajax при заходе на страницу из поисковика - не работает Алексей_ГР Ваши сайты и скрипты 2 03.09.2013 00:03
Книги по Ajax BaVa Учебные материалы 18 18.08.2013 14:05
Какая разница между post запросами jquery и ajax? Rooner jQuery 2 18.06.2012 14:29
IE 6, jquery, не работает ajax Прохожый jQuery 3 01.06.2010 17:20
ajax запросы, работает на одних компах и не работает на других vtornik23 AJAX и COMET 2 22.03.2010 18:22