2010-05-10 6 views
0

J'essaie d'obtenir une var d'un script PHP fonctionnant sur mon serveur web et de tous les messages du forum que j'ai lu, ce que je fais devrait fonctionner. J'ai ce qui suit:Chargement de var du script PHP en utilisant le flash

var lvContent = new LoadVars(); 
lvContent.load("http://{MY_DOMAIN}/Includes/getID.php");     
trace("ID: " + lvContent.pageID);  

Le problème est que l'ID dans la trace est toujours indéfini.

J'ai essayé ce qui suit dans le fichier php:

<?php 
echo "pageID=29"; 
?> 

Ce petit test pour essayer de le faire fonctionner mais je ne peux pas sembler.

Est-ce que je fais quelque chose de mal?

Merci d'avance pour l'aide.

J'utilise ActionScript 2.0

Répondre

0

Flash utilise la communication non bloquante avec un serveur, cela signifie que le code que vous mettez après lvContent.load (dans votre cas « trace ») est exécutée immédiatement, tandis que l'action de charge a pas encore fini.

Pour obtenir votre code de travail, vous devez utiliser une fonction de rappel:

var lvContent = new LoadVars(); 
lvContent.onLoad = function(success) { 
    if(success) { 
     trace(lvContent.pageID); 
    }else{ 
     trace("load error"); 
    } 
}; 
lvContent.load("http://{MY_DOMAIN}/Includes/getID.php");     
trace("ID: " + lvContent.pageID); 

Dans le cas où vous venez d'enregistrer un peu d'espace en ne fournissant pas ce morceau de code. Je pense aussi que vous devez commencer vos variables d'URL avec un & si:

<?php 
echo "&pageID=29"; 
?> 

Voir l'exemple here.

+0

Merci pour le commentaire. J'ai essayé cette méthode mais cela n'a pas fonctionné. Quand je débogue, il ne casse rien sur la méthode onLoad. – webnoob

Questions connexes