[Résolu]Problème avec Ajax
11 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
[Résolu]Problème avec Ajax
Bonsoir à tous,
J'utilise actuellement un script ajax qui fonctionne très bien avec Firefox mais pas avec Internet Explorer (5,6 et 7)...
J'ai bien essayé de le débugguer avec la "console" d'IE mais rien n'y fait, Firefox quand à lui ne retourne pas d'erreur ; Etant un peu perdu pourriez vous me donner un coup de main ?
Le script en question :
D'avance merci pour votre aide
J'utilise actuellement un script ajax qui fonctionne très bien avec Firefox mais pas avec Internet Explorer (5,6 et 7)...
J'ai bien essayé de le débugguer avec la "console" d'IE mais rien n'y fait, Firefox quand à lui ne retourne pas d'erreur ; Etant un peu perdu pourriez vous me donner un coup de main ?
Le script en question :
- Code: Tout sélectionner
var http_request = false;
function makeRequest(url, parameters, resultdiv, loader) {
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
//if (http_request.overrideMimeType) {
//http_request.overrideMimeType('text/xml');
//http_request.overrideMimeType('text/html; charset=ISO-8859-1');
//}
} 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('Votre navigateur ne supporte pas la technologie XMLhttp !');
return false;
}
//http_request.onreadystatechange = alertContents;
http_request.open('GET', url + parameters, true);
http_request.onreadystatechange = function alertContents() {
if (http_request.readyState == 1) {
document.getElementById(loader).style.display = 'block';
document.getElementById("loadingtxt").style.display = 'block';
}
if (http_request.readyState == 4) {
if (http_request.status == 200) {
//alert(http_request.responseText);
result = http_request.responseText;
document.getElementById(resultdiv).innerHTML = result;
document.getElementById(loader).style.display = 'none';
document.getElementById("loadingtxt").style.display = 'none';
} else {
alert('Une erreur s\'est produite !');
}
}
}
http_request.send(null);
}
D'avance merci pour votre aide
Dernière édition par antinomx le Sam Aoû 23, 2008 16:04, édité 1 fois.
-

UsagiYojimbo - WRInaute accro

- Messages: 5200
- Inscription: Mer Nov 23, 2005 10:38
Avec IE5 déjà l'Ajax je pense que tu peux oublier, vu comment ce navigateur supporte le JS.
Pour ce qui est d'IE5 et IE6, tu as essayé de faire du debbugage pas à pas en mettant des alert() javascript à chaque étape du code pour voir à partir d'où tu as un problème.
Pour ce qui est d'IE5 et IE6, tu as essayé de faire du debbugage pas à pas en mettant des alert() javascript à chaque étape du code pour voir à partir d'où tu as un problème.
-

Jeviensderio - WRInaute accro

- Messages: 1340
- Inscription: Ven Sep 29, 2006 12:50
Pourquoi ne pas utiliser un script tout fait, comme anaa.eu, avec les fonctions de base et qui est certain de fonctionner sur tous navigateurs....
Mais si c'est la mise à jour de la page qui ne fonctionne pas, on ne peut en juger, cela dépend comment le script est utilisé (formulaire ou autres).
Mais si c'est la mise à jour de la page qui ne fonctionne pas, on ne peut en juger, cela dépend comment le script est utilisé (formulaire ou autres).
Bonjour et merci pour vos réponses !
Pour IE5 ok j'oublie...
J'ai bien essayé de débugguer avec des alert() un peu partout et pas moyen
C'est quand même symptomatique ! Quelle poisse cet IE... Ce que je n'arrive vraiment pas a comprendre c'est pourquoi Firefox ne retourne aucune erreur...
J'utilise ce script aussi bien à partir de formulaire (onsubmit()) qu'avec des liens appelant la fonction...
La fonction se lance jusqu'à faire apparaître l'animation de chargement puis se fige.
Pour anaa.eu j'ai regardé mais c'est pas l'idéal niveau poids (+ de 8ko), après c'est sur que si je n'ai pas le choix ben...
Il n'y a rien dans mon script qui à première vue est incompatible IE ?
Je n'ai pas beaucoup d'expérience donc peut être que la structure du "bouzin" n'est pas bonne ou autre...
Merci pour votre aide
Pour IE5 ok j'oublie...
J'ai bien essayé de débugguer avec des alert() un peu partout et pas moyen
C'est quand même symptomatique ! Quelle poisse cet IE... Ce que je n'arrive vraiment pas a comprendre c'est pourquoi Firefox ne retourne aucune erreur...
J'utilise ce script aussi bien à partir de formulaire (onsubmit()) qu'avec des liens appelant la fonction...
La fonction se lance jusqu'à faire apparaître l'animation de chargement puis se fige.
Pour anaa.eu j'ai regardé mais c'est pas l'idéal niveau poids (+ de 8ko), après c'est sur que si je n'ai pas le choix ben...
Il n'y a rien dans mon script qui à première vue est incompatible IE ?
Je n'ai pas beaucoup d'expérience donc peut être que la structure du "bouzin" n'est pas bonne ou autre...
Merci pour votre aide
Re: Problème avec Ajax
- Code: Tout sélectionner
var http_request = false;
function makeRequest(url, parameters, resultdiv, loader) {
http_request = =null;
if (window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
if (!http_request) {
alert('Votre navigateur ne supporte pas la technologie XMLhttp !');
return false;
}
//http_request.onreadystatechange = alertContents;
http_request.open('GET', url + parameters, true);
http_request.onreadystatechange = function alertContents() {
if (http_request.readyState == 1) {
document.getElementById(loader).style.display = 'block';
document.getElementById("loadingtxt").style.display = 'block';
}
if (http_request.readyState == 4) {
if (http_request.status == 200) {
//alert(http_request.responseText);
result = http_request.responseText;
document.getElementById(resultdiv).innerHTML = result;
document.getElementById(loader).style.display = 'none';
document.getElementById("loadingtxt").style.display = 'none';
} else {
alert('Une erreur s\'est produite !');
}
}
}
http_request.send(null);
}
-

UsagiYojimbo - WRInaute accro

- Messages: 5200
- Inscription: Mer Nov 23, 2005 10:38
Tu as une page en ligne où on peut jeter un oeil ?
Quand je faisais de l'AJAX à la mano (avant de m'essayer à prototype et jquery), je partais du script suivant :
Si ca peut t'aider...
Quand je faisais de l'AJAX à la mano (avant de m'essayer à prototype et jquery), je partais du script suivant :
- Code: Tout sélectionner
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.open("GET", "loaditem.php?id="+id, false);
xhr_object.send(null);
if (xhr_object.readyState == 4)
{
if (xhr_object.responseText!='')
{
document.getElementById("item").innerHTML = document.getElementById("item").innerHTML + xhr_object.responseText;
}
}
}
Si ca peut t'aider...
@Zeb : Ca ne fonctionne pas
Cette fois ci rien ne se lance, un peu comme si il n'y avait pas de script... En enlevant un "=" juste avant le "null" à la troisième ligne ça revient au fonctionnement précédent.
@UsagiYojimbo : Malheureusement j'suis en local mais je vais essayer de la mettre en ligne, merci pour ta base de script avec un peu de bol j'arriverai à l'adapter.
En tout cas merci beaucoup vous répondez rapidement et c'est super !
EDIT : HOURRA ! C'est en fait un truc tout c*n : dans le code c'est la ligne
à modifier comme ça
Bon ben c'est génial
Encore merci !
PS : C'est drôle cette bouse d'IE est bien plus rapide que Firefox pour executer la fonction...
@UsagiYojimbo : Malheureusement j'suis en local mais je vais essayer de la mettre en ligne, merci pour ta base de script avec un peu de bol j'arriverai à l'adapter.
En tout cas merci beaucoup vous répondez rapidement et c'est super !
EDIT : HOURRA ! C'est en fait un truc tout c*n : dans le code c'est la ligne
- Code: Tout sélectionner
result = http_request.responseText;
document.getElementById(resultdiv).innerHTML = result;
à modifier comme ça
- Code: Tout sélectionner
document.getElementById(resultdiv).innerHTML = http_request.responseText;
Bon ben c'est génial
PS : C'est drôle cette bouse d'IE est bien plus rapide que Firefox pour executer la fonction...
antinomx a écrit:PS : C'est drôle cette bouse d'IE est bien plus rapide que Firefox pour executer la fonction...
pense qu'IE évolue dans un environnement pré chargé pour lui avec toute l'api windobe derrière.
Les autres navigateurs doivent travailler en milieu hostile
-

UsagiYojimbo - WRInaute accro

- Messages: 5200
- Inscription: Mer Nov 23, 2005 10:38
antinomx a écrit:EDIT : HOURRA ! C'est en fait un truc tout c*n : dans le code c'est la ligne
- Code: Tout sélectionner
result = http_request.responseText;
document.getElementById(resultdiv).innerHTML = result;
à modifier comme ça
- Code: Tout sélectionner
document.getElementById(resultdiv).innerHTML = http_request.responseText;
En fait je pense que c'est surtout du au fait que la variable result n'était pas déclarée :
- Code: Tout sélectionner
var result = http_request.responseText;
document.getElementById(resultdiv).innerHTML = result;
aurait sans doute mieux fonctionné.
zeb a écrit:pense qu'IE évolue dans un environnement pré chargé pour lui avec toute l'api windobe derrière.
Les autres navigateurs doivent travailler en milieu hostile
Merci pour cet éclaircissement !
UsagiYojimbo a écrit:En fait je pense que c'est surtout du au fait que la variable result n'était pas déclarée :
Code:
var result = http_request.responseText;
document.getElementById(resultdiv).innerHTML = result;
aurait sans doute mieux fonctionné.
Bien vu !
Merci beaucoup pour votre aide !
-

informatiquegifs - WRInaute impliqué

- Messages: 356
- Inscription: Mer Aoû 27, 2003 16:11
mdr j'ai cru t'avais un problème avec les WC 
11 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Référencement et Web 2.0
- Google ferme l'API SOAP aux nouveaux développeurs
- Google Web Toolkit, pour créer des applications en AJAX
- Yahoo Maps API
- Google rejoint le projet Open AJAX créé par IBM
- Fin de l'API Google Search SOAP
- Optimisation du référencement d'un site en AJAX
- Définition(s) du Web 2.0
- Ajouter un moteur de recherche d'images sur son site
- Ecrire un sitemap pour Google News
- [RESOLU] Problème Gmap avec Ajax
- [resolu] Ajax et liens en dur
- [RESOLU] [AJAX] réellement assynchrone ?
- Probleme URLREWRITING et Ajax!
- Problème Ajax sous IE
- Problème Ajax et popup
- [Ajax] probleme de charset
- Problème AJAX / PHP (getXhr)
- Probleme reaffichage avec ajax
- Problème de rafraichissement en AJAX sour IE
- Ajax /php problème de POST
- Problème d'encodage de caractère Ajax et ASP
- Problème formulaire dynamique avec AJAX
- Module JA NEWS joomla probleme avec Ajax
- AJax, php et xml, probleme de variable php
Consultez la description détaillée des produits ou services de Google suivants : Google Web Toolkit
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


le forum