Conseil Ajax
Résolu
Xineroks
Messages postés
158
Date d'inscription
Statut
Membre
Dernière intervention
-
Xineroks Messages postés 158 Date d'inscription Statut Membre Dernière intervention -
Xineroks Messages postés 158 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis en train de coder une "application web"
en php, javascript et ajax.
En gros j'ai une page html qui possede 2 listbox.
Et je souhaiterais qu'une fois les 2 valeurs selectionnées et remplies, un code ajax s'execute qui me chercherait une donnée dans une base de données.
J'ai procédé a une fonction javascript tel que celle ci :
<select id="list_lang" class="dash_list" size="4" onClick="setLangList(this.value);request(readData)">
Lors d'un click. Jusque là pas de soucis.
Je voulais connaitre vos impressions sur la manière de faire pour mon code ajax derriere cela.
1) Jusqu'ici tout va bien ?
Voici la page que j'appelle pour effectuer ma requete :
Ne soyez pas trop regardant sur la requète, c'était pour tester que je recupère bien une valeur.
2) Est-ce que je fais bien de faire comme cela, ou c'est tout simplement horrible de coder comme ça ? c'est la premiere fois que je m'essayer à l'AJAX, j'ai zieuté sur le SDZ et divers autres site, mais je n'ai pas eu une manière de coder a proprement parler.
Merci d'avance,
Xineroks
je suis en train de coder une "application web"
en php, javascript et ajax.
En gros j'ai une page html qui possede 2 listbox.
Et je souhaiterais qu'une fois les 2 valeurs selectionnées et remplies, un code ajax s'execute qui me chercherait une donnée dans une base de données.
J'ai procédé a une fonction javascript tel que celle ci :
<select id="list_lang" class="dash_list" size="4" onClick="setLangList(this.value);request(readData)">
Lors d'un click. Jusque là pas de soucis.
Je voulais connaitre vos impressions sur la manière de faire pour mon code ajax derriere cela.
function getXMLHttpRequest() { var xhr = null; if (window.XMLHttpRequest || window.ActiveXObject) { if (window.ActiveXObject) { try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { xhr = new XMLHttpRequest(); } } else { alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest..."); return null; } return xhr; } function request(callback) { var xhr = getXMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) { callback(xhr.responseText); } }; var cat = encodeURIComponent(document.getElementById("cat").value); var lang = encodeURIComponent(document.getElementById("lang").value); xhr.open("GET", "affichertext.php?cat=" + cat + "&lang=" + lang, true); xhr.send(null); } function readData(sData) { //document.getElementById('dash_thisSiteName"').value = sData; }
1) Jusqu'ici tout va bien ?
Voici la page que j'appelle pour effectuer ma requete :
<?php header("Content-Type: text/plain"); include("connect.php"); $cat = (isset($_GET["cat"])) ? $_GET["cat"] : NULL; $lang = (isset($_GET["lang"])) ? $_GET["lang"] : NULL; if ($cat && $lang) { try { $pdo = new PDO($dns); $req_site=$pdo->prepare("SELECT max(id_site), site_name FROM tmp.dash_site GROUP BY site_name"); $req_site->execute(); $nomsite = null; //echo "nom du site"; if (!$req_site) { echo "Une erreur est survenue.n"; exit; } for ($i = 1; $row_site = $req_site->fetch(); $i++) { $nomsite = $row_site['site_name']; echo $nomsite; } } catch ( Exception $e ) { echo "Connection à la base impossible : ", $e->getMessage(); die(); } } else { echo "Choississez une catégorie et une langue de site"; } ?>
Ne soyez pas trop regardant sur la requète, c'était pour tester que je recupère bien une valeur.
2) Est-ce que je fais bien de faire comme cela, ou c'est tout simplement horrible de coder comme ça ? c'est la premiere fois que je m'essayer à l'AJAX, j'ai zieuté sur le SDZ et divers autres site, mais je n'ai pas eu une manière de coder a proprement parler.
Merci d'avance,
Xineroks