Server.js文件 put和delete的方法在这里定义
var express = require('express'),
app = express(),
mongoose = require('mongoose'),
bodyParser = require('body-parser'),
Grocery = require('./server/models/grocery.js'),
db ='mongodb://localhost:27017/grocerylist';
mongoose.connect(db);
mongoose.connection.on('connected', function () {
console.log('Mongoose connected to ' + db);
});
mongoose.connection.on('error',function (err) {
console.log('Mongoose connection error: ' + err);
});
mongoose.connection.on('disconnected', function () {
console.log('Mongoose disconnected');
});
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.get('/',function(req,res){
res.sendFile(__dirname + '/client/index.html');
});
app.get('/groceryItem',function(req,res){
console.log("get all items find");
Grocery.find(function(err,item){
if(err){
res.send("error occured");
}else{
console.log(item);
res.json(item);
}
})
})
app.get('/groceryItem/:id',function(req,res){
console.log("get all items find one");
Grocery.findOne({_id:req.params.id},function(err,item){
if(err){
res.send("error occured");
}else{
console.log(item);
res.json(item);
}
})
})
app.post('/groceryItem',function(req,res){
Grocery.create(req.body,function(err,item){
if(err){
res.send("error saving item");
}else{
console.log(item);
res.json(item);
}
})
})
app.put('/groceryItem/:id',function(req,res){
console.log("I am in")
var query = {
itemName : req.body.itemName
};
Grocery.findOneAndUpdate({_id: req.params.id},query,function(err,newItem)
{
if(err){
console.log("error occured");
}else{
console.log(newItem);
res.send(newItem);
}
});
});
app.delete('/groceryItem/:id',function(req,res){
console.log(req.params.id)
/*Grocery.findOneAndRemove({_id:req.params.id},function(err,item){
if(err){
res.send("error deleting");
}else{
console.log(item);
res.json(item);
}
})*/
})
app.use('/js',express.static(__dirname + '/client/js'));
app.use('/lib',express.static(__dirname + '/client/lib'));
app.use('/css',express.static(__dirname + '/css'));
app.use('/fonts',express.static(__dirname + '/fonts'));
app.use('/views',express.static(__dirname + '/client/views'));
app.listen(3000,function(){
console.log("I am listening on port 3000")
});
var express = require('express'),
app = express(),
mongoose = require('mongoose'),
bodyParser = require('body-parser'),
Grocery = require('./server/models/grocery.js'),
db ='mongodb://localhost:27017/grocerylist';
mongoose.connect(db);
mongoose.connection.on('connected', function () {
console.log('Mongoose connected to ' + db);
});
mongoose.connection.on('error',function (err) {
console.log('Mongoose connection error: ' + err);
});
mongoose.connection.on('disconnected', function () {
console.log('Mongoose disconnected');
});
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.get('/',function(req,res){
res.sendFile(__dirname + '/client/index.html');
});
app.get('/groceryItem',function(req,res){
console.log("get all items find");
Grocery.find(function(err,item){
if(err){
res.send("error occured");
}else{
console.log(item);
res.json(item);
}
})
})
app.get('/groceryItem/:id',function(req,res){
console.log("get all items find one");
Grocery.findOne({_id:req.params.id},function(err,item){
if(err){
res.send("error occured");
}else{
console.log(item);
res.json(item);
}
})
})
app.post('/groceryItem',function(req,res){
Grocery.create(req.body,function(err,item){
if(err){
res.send("error saving item");
}else{
console.log(item);
res.json(item);
}
})
})
app.put('/groceryItem/:id',function(req,res){
console.log("I am in")
var query = {
itemName : req.body.itemName
};
Grocery.findOneAndUpdate({_id: req.params.id},query,function(err,newItem)
{
if(err){
console.log("error occured");
}else{
console.log(newItem);
res.send(newItem);
}
});
});
app.delete('/groceryItem/:id',function(req,res){
console.log(req.params.id)
/*Grocery.findOneAndRemove({_id:req.params.id},function(err,item){
if(err){
res.send("error deleting");
}else{
console.log(item);
res.json(item);
}
})*/
})
app.use('/js',express.static(__dirname + '/client/js'));
app.use('/lib',express.static(__dirname + '/client/lib'));
app.use('/css',express.static(__dirname + '/css'));
app.use('/fonts',express.static(__dirname + '/fonts'));
app.use('/views',express.static(__dirname + '/client/views'));
app.listen(3000,function(){
console.log("I am listening on port 3000")
});
var express = require('express'),
app = express(),
mongoose = require('mongoose'),
bodyParser = require('body-parser'),
Grocery = require('./server/models/grocery.js'),
db ='mongodb://localhost:27017/grocerylist';
mongoose.connect(db);
mongoose.connection.on('connected', function () {
console.log('Mongoose connected to ' + db);
});
mongoose.connection.on('error',function (err) {
console.log('Mongoose connection error: ' + err);
});
mongoose.connection.on('disconnected', function () {
console.log('Mongoose disconnected');
});
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.get('/',function(req,res){
res.sendFile(__dirname + '/client/index.html');
});
app.get('/groceryItem',function(req,res){
console.log("get all items find");
Grocery.find(function(err,item){
if(err){
res.send("error occured");
}else{
console.log(item);
res.json(item);
}
})
})
app.get('/groceryItem/:id',function(req,res){
console.log("get all items find one");
Grocery.findOne({_id:req.params.id},function(err,item){
if(err){
res.send("error occured");
}else{
console.log(item);
res.json(item);
}
})
})
app.post('/groceryItem',function(req,res){
Grocery.create(req.body,function(err,item){
if(err){
res.send("error saving item");
}else{
console.log(item);
res.json(item);
}
})
})
app.put('/groceryItem/:id',function(req,res){
console.log("I am in")
var query = {
itemName : req.body.itemName
};
Grocery.findOneAndUpdate({_id: req.params.id},query,function(err,newItem)
{
if(err){
console.log("error occured");
}else{
console.log(newItem);
res.send(newItem);
}
});
});
app.delete('/groceryItem/:id',function(req,res){
console.log(req.params.id)
/*Grocery.findOneAndRemove({_id:req.params.id},function(err,item){
if(err){
res.send("error deleting");
}else{
console.log(item);
res.json(item);
}
})*/
})
app.use('/js',express.static(__dirname + '/client/js'));
app.use('/lib',express.static(__dirname + '/client/lib'));
app.use('/css',express.static(__dirname + '/css'));
app.use('/fonts',express.static(__dirname + '/fonts'));
app.use('/views',express.static(__dirname + '/client/views'));
app.listen(3000,function(){
console.log("I am listening on port 3000")
});
var express = require('express'),
app = express(),
mongoose = require('mongoose'),
bodyParser = require('body-parser'),
Grocery = require('./server/models/grocery.js'),
db ='mongodb://localhost:27017/grocerylist';
mongoose.connect(db);
mongoose.connection.on('connected', function () {
console.log('Mongoose connected to ' + db);
});
mongoose.connection.on('error',function (err) {
console.log('Mongoose connection error: ' + err);
});
mongoose.connection.on('disconnected', function () {
console.log('Mongoose disconnected');
});
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.get('/',function(req,res){
res.sendFile(__dirname + '/client/index.html');
});
app.get('/groceryItem',function(req,res){
console.log("get all items find");
Grocery.find(function(err,item){
if(err){
res.send("error occured");
}else{
console.log(item);
res.json(item);
}
})
})
app.get('/groceryItem/:id',function(req,res){
console.log("get all items find one");
Grocery.findOne({_id:req.params.id},function(err,item){
if(err){
res.send("error occured");
}else{
console.log(item);
res.json(item);
}
})
})
app.post('/groceryItem',function(req,res){
Grocery.create(req.body,function(err,item){
if(err){
res.send("error saving item");
}else{
console.log(item);
res.json(item);
}
})
})
app.put('/groceryItem/:id',function(req,res){
console.log("I am in")
var query = {
itemName : req.body.itemName
};
Grocery.findOneAndUpdate({_id: req.params.id},query,function(err,newItem)
{
if(err){
console.log("error occured");
}else{
console.log(newItem);
res.send(newItem);
}
});
});
app.delete('/groceryItem/:id',function(req,res){
console.log(req.params.id)
/*Grocery.findOneAndRemove({_id:req.params.id},function(err,item){
if(err){
res.send("error deleting");
}else{
console.log(item);
res.json(item);
}
})*/
})
app.use('/js',express.static(__dirname + '/client/js'));
app.use('/lib',express.static(__dirname + '/client/lib'));
app.use('/css',express.static(__dirname + '/css'));
app.use('/fonts',express.static(__dirname + '/fonts'));
app.use('/views',express.static(__dirname + '/client/views'));
app.listen(3000,function(){
console.log("I am listening on port 3000")
});
**Angular Code**
$scope.updateItem = function() {
var id = $routeParams.id;
$http.put('/groceryItem/' ,+ id , $scope.groceryItem) .then(function
(response) {
//$scope.groceryItem = response.data;
alert("ssss"+ $scope.groceryItem)
$location.path("/");
})
}
**The delete method**
$scope.deleteItem = function(id) {
var id = id;
console.log(id);
//alert("ssss"+ id)
$http.delete('/groceryItem/' ,+ id ) //.then(function (response) {
//$scope.groceryItem = response.data;
//$location.path("/");
//$route.reload();
//})
}
更新数据时控制台出错
SyntaxError: Unexpected token N
at parse (C:\xampp\htdocs\WebstormProjects\GroceryList\node_modules\body-
parser\lib\types\json.js:83:15)
at C:\xampp\htdocs\WebstormProjects\GroceryList\node_modules\body-
parser\lib\read.js:116:18
at invokeCallback
(C:\xampp\htdocs\WebstormProjects\GroceryList\node_modules\body-
parser\node_modules\raw-body\index.js:262:16)
at done (C:\xampp\htdocs\WebstormProjects\GroceryList\node_modules\body-
parser\node_modules\raw-body\index.js:251:7)
at IncomingMessage.onEnd
(C:\xampp\htdocs\WebstormProjects\GroceryList\node_modules\body-
[enter image description here][1]parser\node_modules\raw-body\index.js:307:7)
at emitNone (events.js:86:13)
at IncomingMessage.emit (events.js:185:7)
at endReadableNT (_stream_readable.js:974:12)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickCallback (internal/process/next_tick.js:98:9)**
[尝试删除和更新数据时控制台上显示的错误] [1]:https://i.stack.imgur.com/cIHvz.png