Je souhaite envoyer un tableau de nombres entiers à partir d'un fichier php nommé load.php vers un script JS qui l'enverra à son tour dans un fichier Processing écrit en js.Envoi d'un tableau analysé au traitement
Dans le load.php je crée le tableau que je veux envoyer et l'envoyer à l'aide JSON (le tableau est constitué d'au moins 40 Entiers):
echo json_encode($varsArray);
Dans le fichier principal php nommé game.php est le script:
<script language="JavaScript" type="text/javascript">
function js_GetArray() {
$.get("load.php", function(actiondata) {
var obj = JSON.parse(actiondata);
return obj;
});
}
en utilisant ce script je demande le tableau de load.php (que je reçois au format JSON), après avoir reçu i l'analyse syntaxique et de l'envoyer dans le fichier de traitement.
Dans le fichier de traitement que je reçois le tableau en tant que tel:
var objArr;
void setup(){
objArr = js_GetArray();
}
void draw() {
alert(objArr[1]);
}
Lors de l'activation de l'alerte, je reçois l'erreur:
Uncaught TypeError: Cannot read property '1' of undefined
Comment puis-je résoudre cela et est-il une meilleure façon de envoyer le tableau?
Merci.
@ ClémentMalet Cette partie a été écrite manuellement pour couper toutes les autres codes avant et après, il a été écrit correctement dans le code lui-même et envoie l'erreur peu importe. –
Le problème est que '$ .get' est asynchrone, donc il ne peut pas rendre' js_GetArray' renvoyer 'obj', car la fonction de rappel où vous construisez' obj' sera exécutée plus tard. – Oriol
duplicata possible de [Comment retourner la réponse d'un appel Ajax?] (Http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-ajax-call) – Oriol