“Technologia”, która zdobywa nieustannie popularność. Aby posmakować tego, co oferuje postanowiłęm napisać pierwszy skrypt, który po prostu dodaje dane do bazy z wykorzystaniem PHP i AJAX. Oto kod:
meta http-equiv=”content-type” content=”text/html; charset=utf-8″ />
title>AJAX - pierwsze kroki
meta name=”keywords” />
meta name=”description” />
link href=”default.css” rel=”stylesheet” type=”text/css” />
script type=”text/javascript”>
function send()
{
advAJAX.assign(document.getElementById(”formularz”), {
onInitialization : function(obj){
document.getElementById(”loading”).style.visibility=”visible”;
},
onSuccess : function(obj) {
alert(obj.responseText)
},
onComplete : function(obj){
document.getElementById(”loading”).style.visibility=”hidden”;
}
});
}
/script>
p id=”loading” style=”visibility: hidden”> Trwa wysyłanie danych…form id=”formularz” action=”ajax.php” method=”post”>
input name=”title” type=”text” />
textarea name=”text” rows=”30″ cols=”40″>
input value=”Wyślij” onclick=”send();” type=”submit” />
/form>
Oraz kod PHP:
if ( isset( $_POST['title'] ) )
{
mysql_connect( ‘localhost’, ‘root’, ”);
mysql_select_db( ‘inne’ );
mysql_query( ‘INSERT INTO `test` VALUES( null, “‘.$_POST['title'].’”, “‘.time().’”, “‘.$_POST['text'].’”)’ );
echo ‘Dodane’;
}
Po drodze jednak namęczyłem się niemiłosiernie, aby to zaczęło działać.
Po pierwsze na oficjanej stronie advAJAX nie ma wzmianki o tym jak daną funkcję ‘zarejestrować’ np dla formularza
Po drugie nigdzie nie znalazłem wzmaniki o tym, że przycisk SUBMIT nie może mieć nazwy ( nie wiem czemu, ale z parametrem name po prostu AJAX się nie odpalał )
Szukanie tych ‘przekrętów’ zajęło mi prawie 2h
jQuery lekarstwem na całe zło :)