2017-12-07 12 views
-1

Ich habe eine OpenLayers-Karte der Welt, wo ein Benutzer auf ein beliebiges Land klicken kann. Ich möchte das ausgewählte Land des Benutzers zu einer Python-Datei senden, wo ich es für weitere Dinge verwenden kann.Wie poste ich Benutzereingaben von Javascript nach Python?

Dies ist der JavaScript-Teil der Karte, der die Benutzerauswahl behandelt.

if (select !== null) { 
     map.addInteraction(select); 
     select.on('select', function(e) { 
     console.log(e); 
     document.getElementById('status').innerHTML = ' ' + 
     e.target.getFeatures().item(0).get('name'); 
     var name = e.target.getFeatures().item(0).get('name'); 

Ich möchte die Variable „name“ zu einem Python-Programm gesendet bekommen, die ich geschrieben habe, wo sie verwendet werden.

Ich bin schwer zu verstehen, wie dies zu tun ist. Ich denke, ich muss JavaScript Post verwenden. Dies ist, was ich verwendet habe, aber ich bin nicht sicher, wo ich es in meinen HTML-Code einfügen soll. Ich lese über Jquery und Ajax. Sollte ich diese benutzen?

<form action="gresponse" method="post"> 
<input type="text" id="country" name="country"/> 
<input type="submit" value="Go" name"gobtn"/></form> 
+1

Sie haben drei Möglichkeiten: 1) Senden Sie Ihre Daten an einen Webserver, der das Python-Skript für Sie aufrufen wird. 2) Erzeugen Sie eine Datei und übergeben Sie sie manuell an Ihr Python-Skript. 3) Führen Sie Ihren Code in node.js und führen Sie Python von dort aus. –

+0

@ Derek 功夫 會 功夫 Schließlich wird alles auf Google App-Engine gehen. Wie aber schicke ich die Variable "name" an die Python-Datei? – timo

+0

"Senden eines Namens an eine Python-Datei" macht keinen Sinn. Ihr JavaScript-Code ist * Client-Seite *, während Ihr Python-Skript * Server-Seite * ist. Sie müssen dem Client mitteilen, dass er die Daten an den Server senden soll (GET, POST, AJAX usw.). Der Server kann dann den Python-Code mit den entsprechenden vom Client empfangenen Parametern ausführen. –

Antwort

0

Sie konnten die XMLHttpRequest der Javascript-Standardbibliothek verwenden oder wenn Sie bereits jQuery verwenden Sie die jquery.ajax Methode verwenden könnte.

Verwandte Themen