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