[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос по ajax
VolDroN
Такой вопрос:
Есть стандартный (вроде как) код, для запроса:
var req = Create();

function Create()
{
if(navigator.appName == 'Mircosoft Internet Explorer')
{
req = new ActiveXObject('Microsoft.XMLHTTP');
}
else
{
req = new XMLHttpRequest();
}
return req;
}
function Request(query, url, funct)
{
req.open('post', url, true);
req.onreadystatechange = PostRefresh;
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');
req.send(query);
}
function PostRefresh()
{
if(req.readyState == 4)
{
document.getElementById('content').innerHTML = '<textarea>'+req.responseText+'</textarea>';
}
else
{
document.getElementById('content').innerHTML = '<img src="/include/img/icons/load.gif" style="margin-top:100px;" />'
}
}

function GoToText()
{
var url = '/ajax.php';
var query = 'go=load&why=text_form';
var funct = PostRefresh;
Request(query, url, funct)
}

Есть кнопочка, в onclick(е) которой стоит - GoToText().
Но. В фф и ие работает нормально, а в хроме и сафари - при первом нажатии на кнопку load.gif не появляется. (при втором нажатие всё нормально). А остальное всё работате, т.е. запрос отсылается и ответ на него приходит.
Кто нибудь знает, почему хром и сафари не хотят показывать картинку загрузки?



Спустя 4 минуты, 8 секунд (16.07.2011 - 17:20) Haotarez написал(а):
Цитата
req.onreadystatechange = PostRefresh;

попробуйте указать явно что это функция
req.onreadystatechange = PostRefresh();

Спустя 51 минута, 11 секунд (16.07.2011 - 18:11) VolDroN написал(а):
Haotarez попробовал. Теперь эта картинка весит отдельно от запроса, т.е. постоянно.
Но уже решил, правда по китайски %):
всунул картинку при самом вызове функции.
var req = Create();

function Create()
{
if(navigator.appName == 'Mircosoft Internet Explorer')
{
req = new ActiveXObject('Microsoft.XMLHTTP');
}
else
{
req = new XMLHttpRequest();
}
return req;
}
function Request(query, url, funct)
{
req.open('post', url, true);
req.onreadystatechange = funct;
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');
req.send(query);
}
function PostRefresh()
{
if(req.readyState == 4)
{
document.getElementById('content').innerHTML = '<textarea>'+req.responseText+'</textarea>';
}
}

function GoToText()
{
document.getElementById('content').innerHTML = '<img src="/include/img/icons/load.gif" style="margin-top:100px;" />';
var url = '/ajax.php';
var query = 'go=load&why=text_form';
var funct = PostRefresh;
Request(query, url, funct)
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.