У меня проблема с Ajax. Я совершенно нуб с Ajax, и я прошу прощения за такой глупый вопрос.
У меня есть список элементов (загруженных БД), которыми я хочу управлять, т.е. удалить, изменить их имя ..; Я хочу использовать ajax для изменения БД и списка.
Но я хочу, чтобы страница изменялась только ПОСЛЕ изменения БД. Я могу изменить страницу до того, как БД будет изменена, но это не то, что я хочу.
Это мой код:
function setXMLHttpRequest() {
var xhr = null;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
return xhr;
}
function modifyCat(n,newN){
xhrObj = setXMLHttpRequest();
var url = "modifyCat.php?action=modify&cat="+n+"&newCat="+newN;
xhrObj.open("GET", url, true);
links = document.getElementById("cat").getElementsByTagName("a");
updatePage(links);
xhrObj.send(null);
}
function updatePage(links) {
if (xhrObj.readyState == 4) {
var risp = xhrObj.responseText;
//code that works... if not put inside this if!
}
xhrObj.send(null);
}
ModifyCat.php is
//...
else if($action='modify'){
$n = cleanSimpleString($_GET['cat']);
$nN = cleanSimpleString($_GET['newCat']);
$qry = "UPDATE Categorie Set Nome='$nN' WHERE Nome='$n'";
$check = mysql_query($qry) or $db=0;
}
Как я понимаю if (xhrObj.readyState == 4)
должен действительно хотеть, я спрашиваю. Вместо этого с тем, что ничего не происходит (на странице, php правильно загружен). Без этого Если страница правильно перезагружена, но пока работает БД ..
редактировать.
Я хотел бы сделать это без рамок, я думаю, что это простая вещь, которую можно решить просто.
Спасибо.