我是 MEAN 应用程序的新手。这里我有一个基于 REST 的示例应用程序,它使用 node-restful 库,我可以在其中执行除“放置”之外的操作(获取、保存、删除)。然而,“放置”操作在休息客户端(高级 REST、邮递员)上运行良好,但在 Angular 客户端上运行良好。
猫鼬模型
var restful = require('node-restful');
var mongoose = restful.mongoose;
// 架构
var productSchema = new mongoose.Schema({
名称:字符串,
大学:字符串,
年龄:数字
});
// 返回模型
module.exports = restful.model('Products', productSchema);
节点快递代码
var express = require('express');
var methodOverride = require('方法覆盖');
var 猫鼬 = 要求('猫鼬');
var bodyParser = require('body-parser');
var cors =require('cors');
// MongoDB
mongoose.connect('mongodb://localhost/rest_test');
var autoIncrement = require('mongoose-auto-increment');
// 表达
var app = express();
app.use(methodOverride('_method'));
app.use(cors());
app.use(bodyParser.urlencoded({extended: true }));
app.use(bodyParser.json());
// 路线
app.use('/api', require('./routes/api'));
// 启动服务器
app.listen(4000);
console.log('API 正在 4000 端口上运行');
更新数据的角度函数
$scope.updateData = 函数(用户 ID){
$scope.actionData = {
“名称”:$scope.name,
“学院”:$scope.college,
“年龄”:$scope.age
}
RoleEditF.updateUserData({
用户ID:用户ID
}, $scope.actionData).then(function (response) {
$scope.userData = 响应;
控制台.log($scope.userData)
$scope.getData();
}).catch(函数(响应){
$scope.error = "无法获取文件(代码:" + response.status + ")。请稍后再试。";
});
}
angular.module('myapp')
.factory('RoleEditF', function (updateS) {
返回 {
updateUserData:函数(参数,数据,回调){
var cb = 回调 || 角.noop;
返回 updateS.save(参数,数据,
功能(资源){
返回 cb(res);
},
功能(错误){
返回 cb(err);
}.bind(this)).$promise;
}
}
})
工厂调用 API
angular.module('myapp')
.factory('updateS',function($resource) {
return $resource('http://localhost:4000/api/products/:userId', { userId: '@userId' }, {
更新: {
方法:'PUT'
}
}, {
stripTrailingSlashes:假
});
});
我在浏览器上收到以下错误
“网络错误:404 未找到 - http://localhost:4000/api/products/57161e0fe4fbae354407baa3”