Как воспользоваться Ajax-ом, обновить данные о последних сообщениях форума.

Автор Ghirik, 14 мая 2008, 02:24:48

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ghirik

Всем привет.

SMF 1.1.4

Я нормально шарю в JavaScript-е, но в php, если сказать, слабоват, то это будет комплиментом.
Возникла потребность обновлять данные о последних сообщениях форума по запросу из JavaScript-сценария, не перезагружая страницу. Пожалуйста, помогите научиться использовать Ajax.
При загрузке страницы, я перекачиваю php-массив $context['latest_posts'] в JavaScript-овый хэш. (На это ума хватило.  :)) Но очень хочется иметь возможность обновлять эти данные.

Научите... Как послать запрос? Где взять ответ? :)


Ghirik

Что то тихо... Неужели ни кто не знает?
Покажите хоть в каком php-файле находится функция запроса к базе, которую пользует Ajax. JavaScript-функции я нашел.

function getXMLDocument(url, callback)
{
if (!window.XMLHttpRequest)
return false;

var myDoc = new XMLHttpRequest();
if (typeof(callback) != "undefined")
{
myDoc.onreadystatechange = function ()
{
if (myDoc.readyState != 4)
return;

if (myDoc.responseXML != null && myDoc.status == 200)
callback(myDoc.responseXML);
};
}
myDoc.open('GET', url, true);
myDoc.send(null);

return true;
}

function sendXMLDocument(url, content, callback)
{
if (!window.XMLHttpRequest)
return false;

var sendDoc = new window.XMLHttpRequest();
if (typeof(callback) != "undefined")
{
sendDoc.onreadystatechange = function ()
{
if (sendDoc.readyState != 4)
return;

if (sendDoc.responseXML != null && sendDoc.status == 200)
callback(sendDoc.responseXML);
else
callback(false);
};
}
sendDoc.open('POST', url, true);
if (typeof(sendDoc.setRequestHeader) != "undefined")
sendDoc.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
sendDoc.send(content);

return true;
}


Но как правильно задать аргументы, чтобы вернулись данные с 'latest_posts'?

Помогите, люди добрые... Ну, очень надо!...  wallbash


Ghirik

Жалко, конечно, что на форуме поддержки не поддержали.
Если кого заинтересует этот вопрос, то вот здесь http://forum.__vingrad.ru/forum/topic-211260/kw-ajax-smf.html мы его решили.