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.
Configuration: Windows XP Firefox 2.0.0.14 IE7
A voir également:
- Problème de récupération de données avec AJAX
- Logiciel de récupération de données - Guide
- Mode de récupération - Guide
- Trier des données excel - Guide
- Récupérer compte yahoo sans numéro de téléphone - Guide
- Récupérer au terminal de fret combien de temps - Forum Consommation & Internet
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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);