begin process at 2012 05 29 08:13:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Ajax

 > 

différence entre local et serveur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

différence entre local et serveur

mardi 10 novembre 2009 à 20:00:59 | différence entre local et serveur

Erick007

Bonjour je ne suis pas sure de comprendre et j'aimerais une petite explication, j'ai écrit un petit script de quoi de très simple qui va chercher a l'aide de l'objet XMLHHTPRequest, un fichier xml sur un serveur pour pouvoir par la suite le traiter et l'afficher.

Le problème est que je ne comprend pas pourquoi ce script fonctionne lorsque je met cette page html/javascript sur le serveur et qu'il ne fonctionne pas en local. Pourtant en local il trouve bien la page car il me retourne pas un code 404 mais un code 0 (si je met une page bidon qui n'existe pas il me retourne 404...).

Voici mon code:

Code Javascript :
var objXHR = null;

function loadCharacter(txtVersion, txtCharacter) {
	objXHR = createObjXHR();
	if(objXHR) {
		objXHR.open("GET", "http://maplerank.maplechiefs.com/xml/characterCheck-" + txtVersion + "-" + txtCharacter + ".xml", true);
		objXHR.onreadystatechange = displayCharacter;
		objXHR.send(null);
	} else {
		alert("Objet XML null");
	}
}

function displayCharacter() {
	if(objXHR.readyState == 4) {
		if(objXHR.status == 200 || objXHR.status == 0) {
			alert('ok');
			alert(objXHR.responseText);
		} else {
			alert('erreur' + objXHR.statusText + objXHR.status);
		}
	}
}

function createObjXHR() {
	if(window.XMLHttpRequest) return new XMLHttpRequest(); // Native Support
 
	if(window.ActiveXObject) { // Microsoft
		var names = ["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP"];
		for(var i in names) {
			try {
				return new ActiveXObject(names[i]);
			} catch(e) {}
		}
	}
	return null; // non supporté
}


Merci
mercredi 11 novembre 2009 à 10:35:24 | Re : différence entre local et serveur

Bul3

Membre Club
Bonjour,
si ajax retourne 0, c'est qu'il y a une erreur
( probablement le fichier non trouvé )
quand c'est bon, il retourne 200
j'aurais plutôt mis .onreadystatechange avant l'open,
mais bon, ça ne doit pas jouer réellement.
Cordialement [mon Site] [M'écrire] Bul
mercredi 11 novembre 2009 à 11:33:22 | Re : différence entre local et serveur

Bul3

Membre Club
ah... je veins de voir :
c'est un fichier xml ?
si oui :
vous testez en local pur ou avce wamp ou easyphp ou .. ?
si oui :
le souci est avec IE ou tous les navigateurs ?
mercredi 11 novembre 2009 à 15:12:22 | Re : différence entre local et serveur

Erick007

Hum quand je dit local, c'est ce qui a de plus local possible lol. J'ai seulement cette page html avec les fichiers .js sans serveur apache wamp ou easyphp. Donc j'ouvre cette page html et j'ai une adresse du genre file:///... (sous firefox) et C:\... sous internet explorer. Et j'ai absolument les mêmes fichiers identique sur mon serveur (sur la même adresse que maplerank.maplechiefs.com).

Je sais que sa doit pas venir de permissions du serveur, car je test avec d'autres adresses et sa me donne le même résultat...

hum et oui c'est bien un fichier xml, comme test je vais chercher le fichier xml http://maplerank.maplechiefs.com/xml/characterCheck-gms-NxTheif.xml. Et j'ai essayer si j'enregistre ce fichier XML en local, et ensuite que dans méthode open je vais chercher cette adresse en local et sa fonctionne.

Lorsque je test en firefox, c'est le résultat que j'ai, avoir 0. Et sous internet explorer il me met une erreur disant Access is Denied...

Mais je croit c bon, j'ai trouver sa https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript et je croit que c'est la cause de cette erreur.
mercredi 11 novembre 2009 à 15:29:44 | Re : différence entre local et serveur

Bul3

Membre Club

alors déjà, c:\... ça ne fonctionne pas
c:\\... il faut echapper les \, si vous ne
l'avez pas fait, ou utiliser /
utilisez donc la même chose qu'avec Fx
ça baigne.

ensuite, window.XMLHttpRequest répond true aussi
avec IE ( depuis la version 7 ? ) et quand c'est en
pur local, IE refuse pour un xml : il faut utiliser
new ActiveXObject("Microsoft.XMLHTTP");

perso j'emploie les fonctions dédiées
pour chaque navigateurs
new ActiveXObject('Microsoft.XMLDOM')
et .load(fichier) pour IE
document.implementation.createDocument
et .load(fichier) pour Fx
new XMLHttpRequest();
et .open et .send effectivement pour les autres

mercredi 11 novembre 2009 à 15:35:33 | Re : différence entre local et serveur

Bul3

Membre Club
>il me met une erreur disant Access is Denied...
je n'avais pas lu/répondu jusqu'au bout
ça vient donc bien du .XMLHttpRequest qu'IE
ne veut pas utiliser pour un fichier xml en
pur local. soit ActiveXObject("Microsoft.XMLHTTP");
soit les fonctions dédiées/spécifiques au xml
( si elles existent, il doit bien
y avoir des raisons )
jeudi 12 novembre 2009 à 16:06:15 | Re : différence entre local et serveur

47

Bonjour,

normalement avec Ajax (enfin je pense ^^), on ne peut pas récupérer une information sur un autre domaine (localhost d'un coté, maplerank.maplechiefs.com de l'autre), on a l'erreur: uncaught exception: Access to restricted URI denied (NS_ERROR_DOM_BAD_URI)
peut être l'explication du pourquoi ca marche sur le serveur et pas en local

bonne après midi



jeudi 12 novembre 2009 à 16:17:10 | Re : différence entre local et serveur

Bul3

Membre Club
tu as raison "47"...
mais depuis un site vers un autre site
( sauf avec Fx qui permet des choses )

depuis une page en local on peut accéder
à tous les sites sans restrictions

non, non l'erreur c'est , comme je l'ai dit,
qu'il faut utiliser new ActiveXObject("Microsoft.XMLHTTP");
pour IE au lieu de new XMLHttpRequest();
uniquement en pur local, sur site ou avec
easyphp, wamp... ça baigne ( on se demande
bien pourquoi ! )
vendredi 13 novembre 2009 à 07:24:03 | Re : différence entre local et serveur

Bul3

Membre Club
"47" avait raison : je viens de tester...
Code HTML :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
	<head>
		<script type="text/javascript">
			function ajax(url)
			{	var queryAJAX;
				try 		{	queryAJAX = new ActiveXObject("Microsoft.XMLHTTP");	}
				catch(e)	{	queryAJAX = new XMLHttpRequest();	}						
				queryAJAX.open('GET', url+'?'+new Date(), false);
				queryAJAX.send(null);
				alert(queryAJAX.responseText);
			}
		</script>
	</head>
	<body>
		<button onclick="ajax('local.txt');">en local</button>
		<button onclick="ajax('http://bul.chez.com/test/site.txt');">sur site</button>
	</body>
</html>

ça marche en local
sur le site, c'est ok avec IE, mais ça ne plait pas à Fx :

Erreur : uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: file:///D:/Utilitaires/WampServer/www/Essais/fichier%20avec%20ajax/test.htm :: ajax :: line 10" data: no]


il doit manquer une "instruction quelconque"
avec Fx pour l'autoriser à faire.
bien entendu, avec easyphp ou wamp
vers le site ce serait rejeté pour
tous les navigateurs
vendredi 13 novembre 2009 à 07:38:45 | Re : différence entre local et serveur

Bul3

Membre Club
Réponse acceptée !
et pourtant j'avais déjà fait !
Alzheimer me guette....
Code Javascript :
function ajax(url)
{	var queryAJAX;
	try 		{	queryAJAX = new ActiveXObject("Microsoft.XMLHTTP");	}
	catch(e)	{	queryAJAX = new XMLHttpRequest();	
				netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');	
			}
	queryAJAX.open('GET', url+'?'+new Date(), false);
	queryAJAX.send(null);
	alert(queryAJAX.responseText);
			}

1 2

Cette discussion est classée dans : local, code, serveur, objxhr, if


Répondre à ce message

Sujets en rapport avec ce message

applet [ par chaaw00 ] je voulait savoir comment on fait pour que le flux d'entrée provenant d'un serveur peut arriver a une applet qui se trouve sur mon serveur local que j Socket bloqué sur le retour [ par ultrafil ] Salut, j'ai un problème un peu bizard j'espere que quelqu'un pourra m'aider car ca fait bien 1 semaine que je bloque la dessus et je ne comprend plus Un If ne fonctionne pas [ par francoisch ] Bonjour   <p class="MsoNormal" style="MARGIN: 0cm 0 Cookies et IE : Ok en local, KO sur serveur. [ par hakeem69 ] Salut la foule !<o:p ASP+Base de données [ par CHABRY ] Salut! J'ai téléchargé un code en ASP du fameux site "asp-irine.com" qui permet de manipuler  une base de données se trouvant sur un serveur d'où cha Code upload fichier d'un internaute vers serveur free [ par jujudu59110 ] Je voudrais que les vivteurs puissent envoyé des fichiers ( photos de préférence ) si posssible accepté que les jpg ou jpeg + bmp vers un serveur free If/Else sur des checkbox [ par marjerem ] Bonjour, J'aide un pote à développer une petite appli et je n'arrive pas à me dépatouiller de ce qui semblera peut être simplissime à certains d'entre Calcule Numéro de Sécurité Sociale [ par Morocco13 ] Bonjour, ci-dessous un code qui calcule la clé du numéro de sécurité sociale français.Il n'y a aucun problème dans le code, mais ma question serait do Une fonction liée à un évènement (ex: onBlur, onSubmit) qui ne s'exécute pas... [ par kharshak ] Bonjour à toi, J'ai un petit problème avec mon code. J'ai une page HTML avec un "joli" formulaire, et des actions de vérification à faire sur certain Problème de DIV [ par igregbzh ] Bonjour à tous voila j'effectue une petite application en javascript et la j'ai un gros problème. En fait j'arrive a déplacer et redimensionner les di


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales