J'ai actuellement un problème avec javascript et python pour communiquer dans web2py.web2py: comment copier un tableau python dans un tableau javascript
contrôleur:
def testDB():
a=[]
a.append('a')
a.append('b')
a.append('c')
return dict(m=a)
(Finalement, ce sera remplacé par un tableau de lignes DB) Actuellement, je suis en train d'affecter les valeurs m à un tableau en javascript. J'ai essayé ceci de quelques manières:
var t="{{=m}}";
Renvoie environ 43 caractères sans signification. Alors j'ai essayé:
var t= new Array(); var i=0;"{{q=0}}"
"{{i=len(message)}}"
i="{{=i}}";
for(q=0;q<i;q++,"{{q=q+1}}"){
t[q]="{{m[q]}}";
}
Ce qui a échoué parce que la variable python q réinitialisait chaque fois que la boucle a fait, ce qui est le cœur de mon problème. J'ai aussi essayé d'utiliser la pop:
for(q=0;q<i;q++,"{{q=q+1}}"){
alert("{{m.pop()}}");
}
Mais le tableau à nouveau remise à zéro motive le début de la boucle, il continue d'afficher la même variable. Existe-t-il un moyen plus simple de copier les tableaux, ou d'arrêter la réinitialisation des variables python, ou même simplement de brancher la variable javascript q dans "{{m [q]}}" à la place? D'après ce que j'ai trouvé, le problème vient de python étant côté serveur, donc vous ne pouvez pas attribuer des valeurs javascript à ses variables, mais je ne suis pas sûr de ce que cela a à voir avec la partie en boucle (Si Je fais de même en dehors d'une boucle, les valeurs ne sont pas réinitialisées). La solution commune semble être d'utiliser ajax ou json, mais j'aimerais éviter cela si possible. Merci
Et comment pourrais-je utiliser pour mettre les valeurs de m dans un tableau javascript? – James
'json.dumps (py_list)' vous donnera un tableau JSON. Transmettez-le au navigateur. –
Cela ne fonctionne pas avec web2py. Désolé de reconnaître que c'est un vieux fil. Je sentais que je devrais le mentionner cependant. J'ai essayé la même chose et vous obtenez '& quot' au lieu de guillemets dans la chaîne JSON dans la vue –