2016-10-14 1 views
0

Ich bin ein Neuling. Ich bin nicht in der Lage, Daten vom vorderen Ende in mysql Datenbank einzufügen. Ich stehe zum Zeitpunkt der Insertion vor dem Problem. Ich bin nicht in der Lage, meinen Codierungsfehler zu verfolgen, unabhängig davon, ob es in controller.js oder in index.html oder in server.js ist. Bitte helfen Sie mir, das zu lösen.Einfügen von Daten in MySQL-Datenbank mit nodejs angularjs

mein server.js Code

var express = require("express"); 
var app = express(); 
var bodyParser = require('body-parser'); 
var mysql  = require('mysql'); 
var connection = mysql.createConnection({ 
    host  : 'localhost', 
    user  : 'root', 
    password : '', 
    database : 'bookitnow' 
}); 

connection.connect(function(err) { 
    if (!err) 
    console.log('Database is connected'); 
    else 
    console.log('DB connection error.'); 
}); 

app.use(express.static(__dirname + '/public')); 

app.get('/index.html', function(req, res){ 
    res.sendFile(__dirname + '/public' + 'index.html'); 
}); 


app.post('/index.html', function(req, res, next) { 
    var data = req.body; 
    console.log('request received:', data); 

    connection.query('INSERT INTO register SET ?', data, function(err,res){ 
     if(err) throw err; 
     console.log('record inserted'); 
    }); 

app.listen(5500); 

console.log('Hi from server.js'); 

mein controller.js Code

var app = angular.module('bookitnow',[]); 
     app.controller('myCtrl', function($scope,$http){ 
     $scope.submit = function() { 

      var data = { 
        fName : $scope.fname, 
        lName : $scope.lname, 
        email : $scope.email, 
        phone : $scope.phone, 
        password: $scope.pswd, 
        confirm : $scope.confirm 
       } 
      }; 

      $http.post('/index.html', &scope.data) 
      .success(function (data, status, headers, config) { 
        $scope.result = data; 
        console.log("inserted successfully") 
       }) 
       .error(function(data, status, header, config){ 
        $scope.result = "Data: " + status; 


       }); 

      $scope.add.push(data); 
      $scope.addNewUser = { 
        fname:"", 
        lname:"", 
        email:"", 
        phone:"", 
        password:"", 
        confirm:"" 
     }; 
}); 

meine index.html Code

<html ng-app="bookitnow"> 
<head> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
    <link rel="stylesheet" href="./css/style.css"> 

    <title> Registration Page </title> 
</head> 
<body> 
<div class="container" ng-app="bookitnow" ng-controller="myCtrl"> 
    <h1>Register</h1> 
    <form method="post"> 
    <div class="form-group"> 
     <input type="text" class="form-control" id="firstName" ng-model="fname" placeholder="First Name" required> 
    </div> 
    <div class="form-group"> 
     <input type="text" class="form-control" id="lastName" ng-model="lname" placeholder="Last Name" required> 
    </div> 
    <div class="form-group"> 
     <input type="email" class="form-control" id="email" ng-model="email" placeholder="Email Address" required> 
    </div> 
    <div class="form-group"> 
     <input type="text" class="form-control" id="phone" ng-model="phone" placeholder="Phone" required> 
    </div> 
    <div class="form-group"> 
     <input type="password" class="form-control" id="pswd" ng-model="pswd" placeholder="Password" required> 
    </div> 
    <div class="form-group"> 
     <input type="password" class="form-control" id="confirm" ng-model="confirm" placeholder="Confirm Password" required> 
    </div> 
<button type="submit" class="btn btn-info" ng-click="submit()">Submit</button> 

</form> 
</div> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> 
<script src="controllers/controller.js"></script> 

</body> 
</html> 
+0

Was ist der Fehler? kannst du hier posten? – abdulbarik

+0

Browser reagiert auf die Nachricht: kann nicht POST/ –

Antwort

0

Deine Route ist nicht korrekt.

app.get('/', function(req, res) {//remove index.html 
    res.sendFile(__dirname + '/public' + 'index.html'); 
}); 


app.post('/', function(req, res, next) {//remove index.html 
     var data = req.body; 
     console.log('request received:', data); 

     connection.query('INSERT INTO register SET ?', data, function(err, res) { 
     if (err) throw err; 
     console.log('record inserted'); 
     }); 

Und Anfrage von Client-Seite wie diese

$http.post('/', $scope.data) 
    .success(function(data, status, headers, config) { 
    $scope.result = data; 
    console.log("inserted successfully") 
    }) 
    .error(function(data, status, header, config) { 
    $scope.result = "Data: " + status; 
    }); 

Hoffnung

Dies ist keine gültige Route ist

app.get('/index.html') 
Ihr alle Strecke wie dieser

in auf Server-Seite ändern

diese wird für Sie arbeiten

+0

Sie haben $ http.post ('/', & scope.data) erwähnt. –

+0

Hier & ist ein unerwarteter Token. Es sollte durch $ Symbol ersetzt werden. –

+0

Ich habe gerade Ihre Route geändert Kumpel können Sie den Rest des Codes prüfen – abdulbarik