AngularJs $ resource.save返回404错误

时间:2017-11-25 19:08:00

标签: angularjs node.js post angular-resource

尝试在本地创建新的JSON文件时出现404错误。

这是我的服务:



eventsApp.factory('eventData', function($resource){
    var resource = $resource('/data/event/:id', {id:'@id'});


  return {
        getEvent: function() {
           //return $http({method: 'GET', url:'/data/event/1'});
            //return $resource('/data/event/:id', {id:'@id'}).get({id:1});
            return resource.get({id:1});
        },
        save: function(event) {
            event.id = 999;
            return resource.save(event);
        }
  }
});




web.server js代码如下:



var express = require('express');
var path = require('path');
var events = require('./eventsController');
var bodyParser = require('body-parser');


var app = express();

var rootPath = path.normalize(__dirname + '/../');

app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());
app.use(express.static(rootPath + '/app'));

app.get('/data/event/:id', events.get);
app.post('/data/event:id', events.save);


app.listen(8000);
console.log('Listening on port 8000...');




get函数完全正常,但是post总是抛出404错误。

请参阅下面的屏幕截图:

enter image description here

我错过了什么?

1 个答案:

答案 0 :(得分:0)

如评论中所述,您的Express服务器路由定义不正确。

因此,当尝试在/data/event/999上发布数据时,没有为。

定义路由
app.get('/data/event/:id', events.get);
app.post('/data/event/:id', events.save); // You forgot '/' here