Problème de récupération de données avec AJAX
Ponpon
-
edennnnn -
edennnnn -
Bonjour,
Je souhaite récupérer des données contenues dans une base de données en utilisant de l'ajax afin de ne pas à avoir à rechercher ma page. Mon code fonctionne très bien sous Firefox, mais pas sous IE (j'utilise IE7).
Voici mon code :
function makeRequestGET(url,id, id_ecrire){
id_niveau= id.id;
var http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Abandon :( Impossible de créer une instance XMLHTTP');
return false;
}
http_request.open('GET', url, true);
http_request.send(null);
http_request.onreadystatechange = function()
{
if(http_request.readyState == 4)
{
traitementReponse(http_request,id_ecrire);
}
}
}
function traitementReponse(http_request,id_ecrire) {
var affich="";
var affich_list=http_request.responseText;
alert(http_request.responseText);
}
Lors du premier appel de la fonction tout se passe bien, mais si j'effectue un changement dans la base de données, les informations récupérées dans le http_request.responseText sont les informations avant la modification dans la base. Je pense que mon code fait planter IE mais je vois pas pourquoi.
Merci pour votre aide.
Je souhaite récupérer des données contenues dans une base de données en utilisant de l'ajax afin de ne pas à avoir à rechercher ma page. Mon code fonctionne très bien sous Firefox, mais pas sous IE (j'utilise IE7).
Voici mon code :
function makeRequestGET(url,id, id_ecrire){
id_niveau= id.id;
var http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Abandon :( Impossible de créer une instance XMLHTTP');
return false;
}
http_request.open('GET', url, true);
http_request.send(null);
http_request.onreadystatechange = function()
{
if(http_request.readyState == 4)
{
traitementReponse(http_request,id_ecrire);
}
}
}
function traitementReponse(http_request,id_ecrire) {
var affich="";
var affich_list=http_request.responseText;
alert(http_request.responseText);
}
Lors du premier appel de la fonction tout se passe bien, mais si j'effectue un changement dans la base de données, les informations récupérées dans le http_request.responseText sont les informations avant la modification dans la base. Je pense que mon code fait planter IE mais je vois pas pourquoi.
Merci pour votre aide.
A voir également:
- Problème de récupération de données avec AJAX
- Fuite données maif - Guide
- Logiciel de récupération de données - Guide
- Effacer les données de navigation sur android - Guide
- Convertisseur récupération de texte - Guide
- Trier des données excel - Guide
7 réponses
Salut Ponpon
Je pense qu'il te manque un header dans ton fichier qui genère l'ajax.
Si je me souviens bien c'est quel que chose comme ca :
header("cash-Control:no-store,no-cash,must-validate");
@+
David
Je pense qu'il te manque un header dans ton fichier qui genère l'ajax.
Si je me souviens bien c'est quel que chose comme ca :
header("cash-Control:no-store,no-cash,must-validate");
@+
David
Je l'ai mis dans mon fichier php qui exécute la requête à la base de données mais je suis pas sûr que c'est ce que tu veux dire.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Y a pas de mal pour la question ^^ Oui je l'ai fait, plusieurs fois même mais rien n'y change. Mon code javascript te parait-il correcte?
En fait je n'utilise pas de xml. Je récupère une chaine de caractère.
Code du fichier php :
$theme=$_GET['theme'];
$requete2="SELECT * FROM adminmenu WHERE theme ='$theme'";
$resultat2 = mysql_query($requete2);
$tab2=mysql_fetch_array($resultat2);
echo $tab2['1'];
echo "/";
echo $tab2['2'];
echo "/";
echo $tab2['3'];
echo "/";
echo $tab2['4'];
echo "/";
echo $tab2['5'];
echo "/";
echo $tab2['6'];
echo "/";
echo $tab2['7'];
echo "/";
echo $tab2['8'];
echo "/";
echo $tab2['1'];
Je découpe ensuite le résultat à l'aide de la fonction split en javascript.
Code du fichier php :
$theme=$_GET['theme'];
$requete2="SELECT * FROM adminmenu WHERE theme ='$theme'";
$resultat2 = mysql_query($requete2);
$tab2=mysql_fetch_array($resultat2);
echo $tab2['1'];
echo "/";
echo $tab2['2'];
echo "/";
echo $tab2['3'];
echo "/";
echo $tab2['4'];
echo "/";
echo $tab2['5'];
echo "/";
echo $tab2['6'];
echo "/";
echo $tab2['7'];
echo "/";
echo $tab2['8'];
echo "/";
echo $tab2['1'];
Je découpe ensuite le résultat à l'aide de la fonction split en javascript.
j'ai eu le meme probleme
regarde sur ce site https://olance.developpez.com/articles/web/javascript/modification-inline/
regarde la fonction ietrick qui est ajouté a la fin de l url de la requete XMLHttpRequest.open
ta fonction ressemblera à ça : http_request.open('GET', url+ietrick(), true);
regarde sur ce site https://olance.developpez.com/articles/web/javascript/modification-inline/
regarde la fonction ietrick qui est ajouté a la fin de l url de la requete XMLHttpRequest.open
ta fonction ressemblera à ça : http_request.open('GET', url+ietrick(), true);