Ich bin neu in der Programmierung und versuche, eine Basis-App mit node.js zu erstellen.Hinzufügen von Daten zur mysql-Datenbank mit node.js
Ich benutze node.js auf Visual Studio mit HTML anstelle von Jade. Ich habe ein einfaches Formular mit Namen, Nachnamen und Geschlecht. Ich habe es auch geschafft, eine Datenbank mit mysql workbench einzurichten.
Ich habe die folgende Abfrage, die den Namen, Nachnamen und Geschlecht erfolgreich in die MySQL-Datenbank fügt, wenn ich den Code ausführen.
Aber ich bin fest, wenn die Daten aus dem Formular gesammelt werden müssen, wenn ich auf die Schaltfläche Absenden klicken.
Ich denke, es ist etwas mit Ajax zu tun, ich habe einige Lösungen mit PHP gefunden, aber ich habe Probleme mit Lösungen mit node.js und wie und wo der Code zu implementieren. Hier
ist die app.js
Datei/**
* Module dependencies.
*/
var express = require('express');
var routes = require('./routes');
var http = require('http');
var path = require('path');
var mysql = require('mysql');
var app = express();
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'my_password',
database: 'userlist',
});
connection.connect();
var user = { "name": "RandomName", "surname": "RandomSurnameName", "gender" : "M" };
connection.query('INSERT INTO studentinfo SET ?', user, function (err, res) {
if (err) throw err;
});
//connection.query('SELECT * FROM studentinfo', function (err, rows) {
// if (err) throw err;
// console.log('Data received from Db:\n');
// console.log(rows);
//});
// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
app.use(require('stylus').middleware(path.join(__dirname, 'public')));
app.use(express.static(path.join(__dirname, 'public')));
// development only
if ('development' == app.get('env')) {
app.use(express.errorHandler());
}
app.get('/', routes.index);
app.get('/about', routes.about);
app.get('/contact', routes.contact);
app.get('/newStudent', routes.newStudent);
http.createServer(app).listen(app.get('port'), function() {
console.log('Express server listening on port ' + app.get('port'));
});
var createStudent = {
name: String,
surname: String,
dob: Date,
gender: String,
}
connection.query('insert into userlist set ?', createStudent, function (err, result) {
});
Können Sie uns mehr über den Code/Setup? Wie sieht deine Seite aus? Wie sieht dein Server aus? – paqash
Ich bin gerade nicht mit dem System, aber ich beginne gerade mit der Standard-Express-Vorlage und habe dieses einfache Formular hinzugefügt, um zu lernen, wie man die Werte in die Datenbank bekommt. Außerdem habe ich Ihre Frage zu dem Server nicht beantwortet. Könntest du bitte etwas ausarbeiten? –
Ich bin mir nicht sicher, wo genau Sie Hilfe brauchen. Sendet es Werte von einem Formular an den Express-Server, erstellt eine Route auf dem Server, um den Submit zu behandeln, ruft eine Controller-Methode vom Routen-Handler auf oder alle oben genannten Punkte? – paqash