基于rest的应用程序中$resource AngularJS客户端的PUT/update操作失败(mongose插入/



我是MEAN应用程序的新手。在这里,我有一个基于REST的示例应用程序,使用noderestful库,我可以在其中执行除"put"之外的操作(获取、保存、删除)。然而,"put"操作在rest客户端(高级rest、poster)上运行良好,但在angular客户端上则不然。

猫鼬模型

var restful=require('node-restful');var mongoose=restful.mongose;//架构var productSchema=新猫鼬。架构({name:字符串,学院:字符串,年龄:数字});//退货模型module.exports=restful.model("产品",productSchema);

节点快捷代码

var express=require('express');var methodOverride=require('method-override');var mongoose=require('mongose');var bodyParser=require('body-parser');var cors=require('cors');//MongoDBmongoose.connect('mongodb://localhost/rest_test');var autoIncrement=require('mongose-auto-increment');//Expressvar app=express();app.use(methodOverride('_method'));app.use(cors());app.use(bodyParser.urlended({extended:true}));app.use(bodyParser.json());//路线app.use('/api',require('./routes/api'));//启动服务器app.learn(4000);console.log('API正在端口4000上运行');

更新数据的角度函数

$scope.updateData=函数(userID){$scope.actionData={"name":$scope.name,"学院":$scope.college,"年龄":$scope.age}角色编辑F.更新用户数据({userId:userId},$scope.actionData).then(function(response){$scope.userData=响应;console.log($scope.userData)$scope.getData();}).catch(函数(响应){$scope.error="无法获取文件(代码:"+response.status+")。请稍后再试。";});}
角度模块('myapp').factory('RoleEditF',函数(updateS){返回{updateUserData:函数(parm,data,callback){var cb=回调||angular.noop;return updateS.save(parm,函数(res){返回cb(res);},函数(err){返回cb(err);}.bind(this)).$promise;}}})

工厂调用API

角度模块('myapp').factory('updateS',函数($resource){return$resource('http://localhost:4000/api/products/:userId',{userId:'@userId'}{更新:{方法:"PUT"}}{stripTrailingStrips:假});});

我在浏览器上收到以下错误

"网络错误:找不到404-http://localhost:4000/api/products/57161e0fe4fbae354407baa3"

必须在中"更新"

        'update': {
          method: 'PUT' 
        }

在$resource()工厂内部

此处的文档https://docs.angularjs.org/api/ngResource/service/$resource

创建自定义"PUT"请求

最新更新