PDA

Просмотр полной версии : Ajax функции


balashovka
20.10.2007, 00:48
Всем привет. Вопрос от начинающего: возможно ли создание двух xmlHttpObject на одной странице? Тобто: на странице, в ответ на какое-то событие, вызывается ф-ция show() из .js-файла (всё как в учебнике)
var xmlHttp
function show(str) {
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null) {
alert ("Browser does not support HTTP Request") return
}
var url="getuser.php"
url=url+"?q="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateChanged() {
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{ document.getElementById("txtHint").innerHTML=xmlHttp.responseText }
}
function GetXmlHttpObject() {
var xmlHttp=null;
try {
xmlHttp=new XMLHttpRequest();
} catch (e) {
try {
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}

Обработчик возвращает .php страницу со ссылкой, на которую хотелось бы повесить ещё один AJAX запрос.
Возможно ли и, если да, подскажите, пожалуйста, как реализовать.

FlyBird
20.10.2007, 01:06
А что тебе мешает в ту php страничку вставить еще один httprequest запрос на следующую php. Только не забудь. Когда страница тебе вернулась ты в JS передай параметр, а то не будет работать ;) Ты правда и сам это знаешь. Давай деразай и все получится.

balashovka
21.10.2007, 00:26
Я пробовал, но после вызова ф-ции edt() происходит только перезагрузка страницы :confused:
В тот же .js файл добавлял новую ф-цию:
function edt(str)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="edt.php"
url=url+"?q="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

???