2016-08-03 12 views
0

Ich bin neu bei node.js und ich versuche, einen einfachen Weg für einen Benutzer zu schaffen, um Daten in ein HTML-Formular einzugeben, dann auf den Klick von übermitteln die Daten an eine weitergegeben werden node.js-Skript. Das node.js-Skript ist ein Post-Skript, das die eingegebenen Daten des Benutzers übernimmt und anschließend einen Post an eine API sendet und eine Rückgabe in JSON von der API erhält. Ich versuche, das zurückgegebene JSON zurück auf die HTML-Seite zu drucken. Wie machst du das auf eine saubere und einfache Weise?Verbinden von Node.JS mit HTML-Formular

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="UTF-8"> 
    <title>Commute | Ad-hoc</title> 
     <link rel="stylesheet" href="css/style.css"> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> 

    </head> 

    <body> 

     <div class="container cf"> 

     <div class="container cf"> 
    <div> 
    <h1>Manual Query</h1> 
    <label>Mode</label> 
    <select id="modes"> 
     <option value="driving">Driving</option> 
      <option value="walking">Walking</option> 
      <option value="cycling">Cycling</option> 
     </select> 
    <label>Latitude Origin</label> 
    <input type="text" name="latitude_origin" id="latitude_origin" value="37.791871"> 
    <label>Longitude Origin</label> 
    <input type="text" name="longitude_origin" id="longitude_origin" value = "-122.396742"> 
    <label>Latitude Destination</label> 
    <input type="text" name="latitude_dest" id="latitude_dest" value = "37.782461"> 
    <label>Longitude Destination</label> 
    <input type="text" name="longitude_dest" id="longitude_dest" value = "-122.454807"> 
    <button id="singleQuery" class="singleQuery" input type="default small">Run</button> 
    </div> 
    <div> 
    <h1>Multi-Query (.tsv)</h1> 
    <label>Upload</label> 
    <input type="file" name="pic" id="laserPrinters"> 
    <button id="testLaser" class="default small" input type="default small">Run</button> 
    </div> 
    <div> 
    <h1>Result</h1> 
    <textarea rows="4" cols="50"> </textarea> 
    </body> 
</html> 


<script type="text/javascript"> 

var mode = $("#modes").val(); 
var latitude_origin = $("#latitude_origin").val(); 
var longitude_origin = $("#longitude_origin").val(); 
var latitude_dest = $("#latitude_dest").val(); 
var longitude_dest = $("#longitude_dest").val(); 

</script> 

Mein Node.JS Nachsatz:

var request = require("request"); 

var options = { method: 'POST', 
    url: 'http://blah:8000/blah/blah/blah/blah/[latitude_origin]/[longitude_origin]/', 
    headers: 
    { 'postman-token': 'blah', 
    'cache-control': 'no-cache' }, 
    body: '{"query1":[latitude_dest,longitude_dest]}' }; 

request(options, function (error, response, body) { 
    if (error) throw new Error(error); 

    console.log(body); 
}); 

Antwort

0

Zuerst müssen Sie einen Server einrichten, um die Anfragen zu hören, dass Sie Ihre node.js web api senden.

Ich mag wirklich, dass Sie express.js verwenden. Es ist ein sehr leistungsfähiger Webserver.

Lesen Sie mehr in: https://expressjs.com/

ich bald für Sie einige Beispiel schreibe.

Ich hoffe, es hilft Ihnen.


UPDATE 1

einen Blick auf MEAN Stapel sind
Nehmen https://github.com/meanjs/mean


UPDATE 2

Hier einige Beispiele:
https://scotch.io/tutorials/setting-up-a-mean-stack-single-page-application
https://developers.openshift.com/languages/nodejs/example-meanstack.html

+0

Danke für die Antwort !! Gibt es keine einfache Möglichkeit, Javascript-Argumente nur an node.js-Skripte zu übergeben? – Katserbot

+0

hmmm, werfen Sie einen Blick auf diesen Beitrag und lassen Sie mich wissen, dass was Sie wollen: http://stackoverflow.com/questions/4295782/how-do-you-extract-post-data-in-node- js –