2016-07-19 3 views
0

Ich benutze Express, um eine sehr einfache Anwendung zu bauen, und ich benutze eckig 1.2.16, eckige Ressource 1.2.16 in dieser Anwendung bin ich Abfragen von Namen aus der Datenbank und versuchen zu löschen sie die Namen req Server aber Server-Seite gehen haben sie sagt nicht definiert und Browser für leere reponse zeigen Fehler, den ich viel versucht, verwendete ich das Problem herauszufinden req.body.id und req.query.id aber diese arbeiten auch nichtDelete Anfrage geben leere Antwort Express-Framework mit Mysql

//controller 
 

 
app.controller('NameController',['$scope','$resource',function($scope,$resource) 
 
{ var nameResource=$resource('/api/Names'); 
 

 
     nameResource.query(function(results) 
 
    { 
 
     \t $scope.Names=results; 
 
    }); 
 
     $scope.Names=[]; 
 
     $scope.remove=function(id,index) 
 
\t { 
 
\t \t nameResource.$delete(id); 
 
\t \t console.log(id); 
 

 
\t \t 
 
\t \t $scope.Names.splice(index, 1); 
 
\t } 
 

 

 
}]); 
 

 
//route 
 

 
app.delete('/api/Names',NamesServerController.removeEntry); 
 

 

 
//server controller 
 

 
module.exports.removeEntry=function(req, res){ 
 
\t var abc=req.params.id; 
 
\t var connection=mysql.createConnection({ 
 
     host:'localhost', 
 
     user:'root', 
 
     password:'test123', 
 
     database:'testing' 
 
\t }); 
 
\t connection.connect(); 
 
\t 
 
\t connection.query('DELETE FROM NamesTable WHERE id= ?', [req.params.id],function(err,result){ 
 
    if(err) throw err; 
 

 
    
 
    console.log(result); 
 
    
 
\t });
<div ng-controller="NameController"> 
 
\t <ul> 
 
    <li ng-repeat='name in Names'> 
 
    <p> {{name.id}}</p> 
 

 
    <button ng-click=remove(name.id,$index)>remove</button> 
 
</li> 
 
</ul>

Antwort

0

Sie müssen eine Antwort senden e zur Anfrage. Normalerweise wird eine DELETE-Anfrage wird beantwortet mit einem leeren Körper und einem 204-Statuscode:

res.send(204); 
+0

Ich versuche, diese aber es funktioniert immer noch nicht auf Server-Seite anzeigen Ergebnis null Zeilen bewirkt –

+0

Apologies - ich Ihre Frage falsch verstanden. Sind Sie sicher, dass das mysql-Modul betroffene Zeilen melden soll? Haben Sie in Ihrer Datenbank nachgesehen, ob die Zeilen gelöscht wurden? –