|
|
|
| Здравствуйте укажите ошибку если не тяжело :
function xml_connect()
{
try
{
XMLHttp= new XMLHttpRequest;
} catch(e)
{
var XMLHttpVersions= new Array(
"MSXML2.XMLHTTP.6.0",
"MSXML2.XMLHTTP.5.0",
"MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0",
"MSXML2.XMLHTTP",
"Microsoft.XMLHTTP");
for(var i=0;i<XMLHttpVersions.length && !XMLHttp;i++)
{
try
{
XMLHttp= new ActiveXObject(XMLHttpVersions[i]);
}
catch(e){}
}
}
if(!XMLHttp)
{
alert("Ошибка !");
}else{
return XMLHttp;
};
};
function get_infa(id)
{
if( XMLHttp.readyState==0 || XMLHttp.readyState==4 )
{
XMLHttp.open("GET","/index.php/get/index/"+id,true);
XMLHttp.send(null);
XMLHttp.onreadystatechange=otvet;
}else{setTimeout(get_infa(id),1000);};
};
function otvet()
{
if (XMLHttp.readyState == 4) {
if(XMLHttp.status== 200){
var otv=XMLHttp.responseText;
document.getElementById("T2TBalloon").innerHTML=otv;
};
};
};
|
php скрипт на который отправляется запрос генерирует HTML табличку.
Функцию get_infa(id) вызываю на onmouseover тега <area>.
Все работает только вот трабла с тем что вмсто одной таблички их две.
Помогите разобратся. Заранее спасибо. | |
|
|
|
|
|
|
|
для: ReZiStOr
(10.07.2008 в 18:36)
| | Здесь ошибок вроде нет связанных с AJAX`ом. Проверьте PHP возможно там код кешируется два раза.
Кстати после закрывающей фигурной скобки точку с запятой ставить не нужно. | |
|
|
|
|
|
|
|
для: ReZiStOr
(10.07.2008 в 18:36)
| |
function get_infa(id)
{
if( XMLHttp.readyState==0 || XMLHttp.readyState==4 )
{
XMLHttp.open("GET","/index.php/get/index/"+id,true);
XMLHttp.send(null);
XMLHttp.onreadystatechange=otvet;
}else{setTimeout(get_infa(id),1000);};
};
|
Логика неправильно составлена.
if( XMLHttp.readyState==0 || XMLHttp.readyState==4 )
т.е. отправка произойдет если в текущий момент ничего не отправляется, либо данные уже загружены, если это условие не выполнено, то происходит повторная отправка. попробуйте поставить такое условие:
if( XMLHttp.readyState==0)
... и еще... XMLHttp.open("GET","/index.php/get/index/"+id,true); — вот тут слеш не нужно убрать? | |
|
|
|