2017-09-02 2 views
0

Ich bin verwirrt, wie die Daten aus der Post-Anfrage erhalten und auch dann an die Blätter senden. Ich weiß nicht, wie ich das auch mit dem Kunden bestätigen soll. jede Hilfe wäre sehr dankbar, danke.So erhalten Sie Daten von POST-Anfrage

Ich versuche, einen Web-App zu erstellen, die ein Checkin/Checkout-System sein werden, wo einmal jemand einen Barcode scannt, die Informationen von diesem Barcode wird

var express = require('express');//takes everything from the Express library 
var app = express(); //calls the express constructor. app is the server object 
var fs = require('fs'); 
var GoogleSpreadsheet = require('google-spreadsheet'); 
var creds = require('./client_secret.json'); 


app.use(express.static('public')); 

app.get('/', function (req, res) { 
    var contents = fs.readFileSync('views/welcome.html').toString(); 
    res.send(contents); 
}); 

app.get('/info', function (req, res) { 
    res.send('Hello Info!'); 
}); 

app.get('/checkin', function (req, res) { 
    var contents = fs.readFileSync('views/no.html').toString(); 
    res.send(contents); 
    console.log("checking in"); 
    console.log(req); 
}); 

app.get('/checkout', function (req, res) { 
    var contents = fs.readFileSync('views/no.html').toString(); 
    res.send(contents); 
    console.log("checking out"); 
}); 

app.post('/checkin', function (req, res){ //someone clicks submit on page from 
get page 
    console.log("posting checkin info"); 


    //getthe data from the POST request LOOOK HERE GET INFO FROM POST REQUEST 
    //send it to Sheets 
//body-parser method 
var ID = data.ID; // sample 
//console.log(id); 

// Create a document object using the ID of the spreadsheet - obtained from 
its URL. 
var doc = new 
GoogleSpreadsheet(________); 

// Authenticate with the Google Spreadsheets API. 
doc.useServiceAccountAuth(creds, function (err) { 

/* // Get all of the rows from the spreadsheet. 
    doc.getRows(2, function (err, rows) { 
    console.log(rows); 
    });*/ 

    doc.getInfo(function(err, info) { 
    console.log('Loaded doc: '+info.title+' by '+info.author.email); 
    sheet = info.worksheets[0]; 
    console.log('sheet 1: '+sheet.title+' '+sheet.rowCount+'x'+sheet.colCount); 
// step(); 

    //look at https://www.npmjs.com/package/google-spreadsheet 
}); 
}); 

//confirm with the client 
}); 

app.listen(3000, function() { 
    console.log('Example app listening on port 3000!'); 
}); 

Antwort

2

Um POST Daten direkt in die Google-Tabelle gehen Sie müssen body-parser Paket verwenden.

es Import:

var bodyParser = require('body-parser'); 

Und Sie können es wie folgt verwenden:

app.use(bodyParser.urlencoded({ extended: false })) 

Dann endlich in Middleware, können Sie die Daten wie Zugang:

var ID = req.body.ID;