Вопрос по ajax'у

EA
На сайте с 15.02.2007
Offline
29
724

Всех приветствую, вопрос такой

Движёк DLE, и на странице есть следующее:

<div id='1-layer'></div>

<div id='2-layer'></div>

<div id='3-layer'></div>

<a href="#" onclick="function1(); function2(); function3(); return false;">ссылка</a>

function function1() {

var ajax = new dle_ajax();

ajax.onShow ('');

var varsString = "";

ajax.requestFile = dle_root + "engine/ajax/file_1.php";

ajax.method = 'GET';

ajax.element = '1-layer';

ajax.sendAJAX(varsString);

};

Две другие функции аналогичны.

Каждая запускает свой файл и замещает свой div.

Можно ли сделать так, чтобы запускать не три, а всего один файл 1 раз, который заместит все 3 div'а каждый своим текстом.

Надеюсь изложил понятно. Это нужно, чтобы сократить запросы к БД.

"Конкурс" (/ru/forum/201132) и "Фото конкурс" (/ru/forum/212504) для DLE.
SA
На сайте с 17.05.2008
Offline
10
#1

Данная задача решается только на основе XML

когда много РАЗНЫХ данных нужно раскидать в разные DIV или ID

Копайте в сторону AJAX+XML

Сайты, сайты, .......
T.R.O.N
На сайте с 18.05.2004
Offline
314
#2

el_aspect, Можно, если фунцию AJAX запроса и обработки результатов полностью написать самостоятельно. Поверьте, это просто.

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
EA
На сайте с 15.02.2007
Offline
29
#3
Данная задача решается только на основе XML
когда много РАЗНЫХ данных нужно раскидать в разные DIV или ID
Копайте в сторону AJAX+XML

Спасибо, посмотрю

el_aspect, Можно, если фунцию AJAX запроса и обработки результатов полностью написать самостоятельно. Поверьте, это просто.

Верю :) но то, что хочу сделать пока не выходит.

SA
На сайте с 17.05.2008
Offline
10
#4

Конкретно данные в посте

Напишу видеоурок для этой темы.

Ссылка будет на рапиду.

T.R.O.N
На сайте с 18.05.2004
Offline
314
#5
el_aspect:
Верю но то, что хочу сделать пока не выходит.

что именно?

Ваш пхп скрипт возвращает данные, не важно, плаинтекст или xml. Что мешает в принимающей JS функции разрезать полученный результат на 3 части по какому-то разделителю, который вставлен в результат?

EA
На сайте с 15.02.2007
Offline
29
#6
Ваш пхп скрипт возвращает данные, не важно, плаинтекст или xml. Что мешает в принимающей JS функции разрезать полученный результат на 3 части по какому-то разделителю, который вставлен в результат?

Мешают знания, а за совет пасибо.

принимающая JS функция,

function function1() {

var ajax = new dle_ajax();

ajax.onShow ('');

var varsString = "";

ajax.requestFile = dle_root + "engine/ajax/file_1.php";

ajax.method = 'GET';

ajax.element = '1-layer';

ajax.sendAJAX(varsString);

};

это она ?

А как его можно разделить и раскинуть ? С php нет проблем, а вот JS вобще не дружу.

T.R.O.N
На сайте с 18.05.2004
Offline
314
#7


try{
xmlHTTP_new_event=new ActiveXObject('Msxml2.XMLHTTP');
}catch(e){
try{
xmlHTTP_new_event=new ActiveXObject('Microsoft.XMLHTTP');
}catch(e2){
xmlHTTP_new_event=false;
}
}
if(!xmlHTTP_new_event){
xmlHTTP_new_event=new XMLHttpRequest();
}
//----------------------------------------------------------

xmlHTTP_new_event.open("POST","имя скрипта.пхп",true);
xmlHTTP_new_event.setRequestHeader("Content-Type", "text/plain");
xmlHTTP_new_event.onreadystatechange=respons_func; // имя принимающей функции
xmlHTTP_new_event.send(str); // В переменной str то что отправляеш серваку


function respons_func(){
if(xmlHTTP_new_event.readyState == 4){
var response=xmlHTTP_new_event.responseText; // В переменной результат, который вернул скрипт, дальше делаете все что хотите

}



EA
На сайте с 15.02.2007
Offline
29
#8

Ещё раз спасибо, постараюсь разобраться

[Удален]
#9

xmlHTTP_new_event=eval("new A" + "ctiv" + "eX" + "Ob" + "ject('Micr" + "osoft.XM" + "LHTTP');");

это фетиш чтоли такой? оО Человек итак не разбирается, а после этого подумает, что так и нужно писать :)

T.R.O.N
На сайте с 18.05.2004
Offline
314
#10
So1:
это фетиш чтоли такой?

ща даже сам улыбнулся,... выкусил кусок из своего сайта, не посмотрев.. Нормально переписал

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий