Bonjour,
J'ai développé une application php lié à une BDD MSQL et je souhaite passer à l'AJAX afin d'améliorer l'ergonomie de mon site. Je suis donc en train d'apprendre à utiliser la méthode AJAX.
J'ai adapté un code mais il ne se passe rien ( une liste est censé apparaître ).
Voici mon code html :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>User interface for Ajax, PHP, MySQL demo</title> <meta name="description" content="HTML code for user interface for Ajax, PHP and MySQL demo."> <style type="text/css"> body {padding-top: 40px; padding-left: 25%} li {list-style: none; margin:5px 0 5px 0; color:#FF0000} </style> </head> <body> <form class="well-home span6 form-horizontal" name="ajax-demo" id="ajax-demo"> <div class="control-group"> <label class="control-label" for="book">Book</label> <div class="controls"> <input type="text" id="book"> </div> </div> <div class="control-group"> <div class="controls"> <button type="submit" class="btn btn-success">Submit</button> </div> </div> </form> </body> </html>
Voici mon code Js :
et voici mon code php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 function book_suggestion() { var book = document.getElementById("book").value; var xhr; if (window.XMLHttpRequest) { // Mozilla, Safari, ... xhr = new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE 8 and older xhr = new ActiveXObject("Microsoft.XMLHTTP"); } var data = "book_name=" + book; xhr.open("POST", "book-suggestion.php", true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send(data); xhr.onreadystatechange = display_data; function display_data() { if (xhr.readyState == 4) { if (xhr.status == 200) { //alert(xhr.responseText); document.getElementById("suggestion").innerHTML = xhr.responseText; } else { alert('There was a problem with the request.'); } } } }
La connection avec la BDD est dans le fichier "dbopen.php".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php include('dbopen.php'); $book_name = $_POST['book_name']; $sql = "select book_name from book_mast where book_name LIKE '$book_name%'"; $result = mysql_query($sql); while($row=mysql_fetch_array($result)) { echo "".$row['book_name'].""; } ?>
Lorsque j'active l'évenement lié au bouton, la console me renvoie le code 304.
Comment faire pour que ma liste basée sur ma BDD apparaisse ?
Merci.
Partager