Bonjour,
J'ai quelques soucis persistants avec une interaction que j'essaie d'implanter dans une page html:
Il s'agit d'un site de généalogie...
Mon idée c'est d'avoir une saisie html d'un prénom qui déclenche sur l'événement onKeyUp un ajax qui remplit
dynamiquement une div, ensuite on clique sur le lien dans la div et l'id passe à un swf qui va lui même appeler par une
requête en post une page PHP qui renvoie les infos sur la personne, son époux(se), ses enfants --> et ensuite je gérerai
l'affichage dans des planes bien jolis jolis. Jusqu'ici pas de pb:
- ma BDD locale est implantée
- mon ajax marche
- je réussis à passer l'id par externalinterface
- ma requête PHP est éxécutée et affichée;
MAIS... car il y a un mais,
même lorsque je passe l'id dans le flash seul mon navigateur (firefox) affiche en bas:
"Transfert des données depuis localhost..." et on voit qu'il continue à ramer alors que depuis belle lurette
il m'a affiché les données au sein d'une fonction déclenchée par l'écoute de l'événement COMPLETE, donc
le chargement est terminé!
Mais là où ça devient lourd, c'est qu'après tout le reste se met à merder, comme si Apache était bloqué, même
mon Ajax dans une page à part échoue.
Donc je me doute qu'à un moment donné il faut fermer la connexion, mais où et comment? J'ai essayé douze mille
solutions et je tourne en rond donc je sollicite vos lumières
.
Toute proposition est la bienvenue. Pour tester j'ai mis des textfields.
Voici le source de mon flash tout seul avec une valeur d'id interne pour test:
(amélioré depuis le tuto de thibault Imbert)
import flash.external.ExternalInterface;
import flash.net.URLVariables;
import flash.net.URLRequestMethod;
import flash.net.URLLoader;
import flash.events.Event;
var monChampTexte:TextField = new TextField();
monChampTexte.text = "nom =";
monChampTexte.width = 450;
addChild ( monChampTexte );
var infos:Object = loaderInfo.parameters;
btnjava.addEventListener ( MouseEvent.CLICK, envoiidentifiant );
function envoiidentifiant ( pEvt:MouseEvent ):void
{
var variables:URLVariables = new URLVariables();
var echanges:URLLoader;
echanges = new URLLoader();
echanges.addEventListener ( Event.COMPLETE, retourServeur );
function retourServeur ( pEvt:Event ):void
{
monChampTexte.text = pEvt.target.data;
//et désactiver l'écoute!!!!!!!!
echanges.close();
echanges.removeEventListener( Event.COMPLETE, retourServeur );
}
// affectation des variables à envoyer coté serveur
variables.id_personne = "1";
var requete:URLRequest = new URLRequest ("http://localhost/actionscript/passer_donnees/test.php");
requete.method = URLRequestMethod.POST;
// nous associons les variables à l'objet URLRequest
requete.data = variables;
echanges.load ( requete );
}
D'avance merci!