我是 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”