uncaught exception: ...

31.08.2008, 12:27

I. Le problème



Si vous avez cette erreur, c'est que vous essayer de faire un appel Ajax sur un autre site que celui sur lequel a été lancé le script.

Codeuncaught exception: Permission refusée d'appeler la méthode XMLHttpRequest.open
en anglais
Codeuncaught exception: permission denied to call XmlHttpRequest.open
Cette réaction a été rajouté par souci de sécurité pour éviter les problémes de "cross scripting", une personne envoie des infos vous concernant en les récupérant dans le DOM de la page vers son propre site

II. SOLUTION

Pour éviter çà, j'ai trouvé une solution très bête (venant d'une astuce utilisé par les scripts de Google).
Code/**
* Requete Ajax façon google
* @author forum.topflood.com
* @param request , url de l'appel
* @param params, paramétres
*/
function doRequest(request,params){
(new Image).src=request+"?"+params;
}
Notez que c'est très basique, mais le but est que vous l'intégriez à une "classe" Javascript, et pourquoi pas un plugin jquery.

III. exemple

CodedoRequest("http://monsite.com/ajax.php",
"param1=test&param2=test" );
Pour plus de fiabilité, pensez à filtre vos paramètres
Codevar filter =encodeURIComponent || escape;
var params = "param1="+filter(test)+"&param2="+filter(test);
var host = "http://monsite.com/ajax.php";
doRequest(host ,params );

IV. gestion avancée : les callbacks

Pour la gestion des callbacks, on passe d'un système de gestion par interruption, à un système de scan périodique...
Codefunction initCallback(callbackFunction){
window.setTimeout(callbackFunction, 500);
}

function myCallback)(){
alert( "hello world" );
window.clearTimeout(myCallback);
}

initCallback(myCallback);


PS: oui c'est sioux!

PB: aucune possibilité de passer par du POST
mumuri forum.ashots.org
mumuri
mumuri
Messages : 13 307

  • Discussions similaires
  • Pas de message
  • allo ciné
  • astuces de jeux vidéos
  • dessin animé
  • forum
  • avis films
  • anime
  • avis livres
  • smileys
  • séries télé
  • bourse
Tous droits réservés © 2008 . Top flood Crédits des logiciels tiers.   - en partenariat avec flood.fr .