Pour passer des données à python
J'ai un formulaire HTML avec des données que je voudrais l'envoyer à mon SVN. Depuis HTML/JS n'ont pas les moyens de le faire, je veux utiliser Python comme un lien entre la forme et le SVN. Mon problème est que je ne sais pas comment faire pour envoyer des données à partir de code HTML/JS pour Python, qui sont tous deux côté client (il n'y a pas de serveur).
Ce que j'ai imaginé serait arriver, c'est qu'un utilisateur de remplir le formulaire, puis appuyer sur le bouton "soumettre", qui pourrait appeler un script Python et transmettent leurs données de formulaire arguments.
J'ai cherché et trouvé que les gens sont en cours d'exécution Python côté serveur et l'Affichage à partir de leurs javascript, mais depuis je n'ai pas de serveur, je ne pense pas que ce soit possible pour moi.
Est-il possible d'envoyer des données à partir de code HTML/JS pour Python si ils sont à la fois côté client?
EDIT: j'ajoute que j'ai des bonnes connaissances en Python et JS
Êtes-vous familier avec javascript et AJAX?
Oui c'est ce que je voulais dire.
non, je ne suis pas familier avec l'AJAX
Voir ma solution, si vous savez comment faire évoluer les choses, vous aurez plus de chances de réussir à mettre les morceaux de combinés 🙂
OriginalL'auteur BloonsTowerDefence | 2013-02-11
Vous devez vous connecter pour publier un commentaire.
Voici quelques soigné façons de combiner Python avec JavaScript:
De retour de données de html/js pour python
Remarque: Puisque vous avez mentionné que vous n'avait pas de serveur, la requête que vous appelez avec le javascript doit être pointé vers le port d'écoute de la socket que le code python fonctionne sur.
Facile enouhg serait d'écouter sur le port 80 avec python et il suffit de faire régulièrement des appels sans réfléchir à deux fois à l' :80 à partir de JavaScript.
Fondamentalement, formulaire HTML, JavaScript
onSubmit()
ou un bouton qui appelle laAJAX
code dans le post ci-dessus, alors Python lire laJSON
de données (structure de la<form>
de données selon laJSON format
affiche en haut de la liaison)Voici une courte introduction sur la façon d'utiliser le formulaire de données via javascript:
Utiliser ce principe pour la collecte d'informations,
puis construire dans l'AJAX partie dans le lien mentionné en haut..
Une fois que vous avez fait cela, commencez un script python (indiqué dans le lien) qui est à l'écoute de ces appels.
Rappelez-vous: À utiliser JSON, la mettre en forme correctement,
'
ne sera pas autorisé, par exemple, il doit être"
!Dans mon lien, c'est la partie importante qui envoie la requête GET au "serveur" (script python):
Voici la partie python:
Hehe, yw 😉 n'oubliez pas, il ya beaucoup de mécanismes en jeu ici. Vous avez la
parsing of forms data
,dynamicly sending requests via JavaScript
(ou remplacer l'AJAX partie régulière d'un formulaire HTML soumettre à l'IP du script python),Python socket
,Python parsing HTTP data
,python converting GET requests to JSON strings
et enfinPython talking to SVN
🙂Dans le script python, apparemment je n'ai pas l'autorisation d'accès au port 80. Je peux voir comment changer le numéro de port dans le script python, mais comment puis-je spécifier un port différent dans le JS ?
Et est-il un moyen de tester si les données sont transmises de la JS correctement? (dépannage)
Comme la mesure de la difficulté de prise de vue passe, après le
ns.recv(8192)
il suffit de faire une impression sur les données, vous allez voir si les données transmises sont correctes ou pas, et si vous ne voyez pas l'impression.. aucune donnée n'a été transmise (logique). Et comme pour port, eh bien, il suffit de nexmlhttp.open("GET","http://ip.addr.com:666/wham.php",true);
, ce qui devrait résulter en vous obtenir une demande dewham.php
surip.addr.com
sur le port666
OriginalL'auteur Torxed