Javascript 如何将参数传递给MEAN.js包的express.js服务器端路由。

Javascript 如何将参数传递给MEAN.js包的express.js服务器端路由。,javascript,angularjs,node.js,express,angular-ui-router,Javascript,Angularjs,Node.js,Express,Angular Ui Router,我是一个初学者,正在从事一个由mean.js构建的项目。我仍在试图弄清楚整个项目结构是如何工作的,我有点被卡住了 目前,我有两个crud模块。一个项目模块和一个应用程序模块。用户应该能够申请项目。在某个项目下,我应该能够查看所有的应用程序,然后接受/拒绝它们 我在angular$资源中添加了一个自定义方法 function ProjectApplicationsService($resource) { return $resource('api/projects/:projectId/a

我是一个初学者,正在从事一个由mean.js构建的项目。我仍在试图弄清楚整个项目结构是如何工作的,我有点被卡住了

目前,我有两个crud模块。一个项目模块和一个应用程序模块。用户应该能够申请项目。在某个项目下,我应该能够查看所有的应用程序,然后接受/拒绝它们

我在angular$资源中添加了一个自定义方法

function ProjectApplicationsService($resource) {
    return $resource('api/projects/:projectId/applications', { projectId: '@_id' }, {
      accept: {
        method: 'PUT'
      },
      reject: {
        method: 'PUT'
      }
    });

  }
单击某个应用程序对应的按钮后,它将触发此函数并将应用程序ID作为参数传入

function acceptApp(applicationID){
      vm.application._id = vm.project._id;
      vm.application.app_id = applicationID;
      vm.application.$accept(successCallback, errorCallback);
      function successCallback(res) {
          console.log("success");
      }

      function errorCallback(res) {
        vm.error = res.data.message;
        console.log(vm.error);
      }
    }
这应该是对express的API调用,下面是它的路由

  app.route('/api/projects/:projectId/applications')
    .get(users.requiresLogin, projects.hasAuthorization, projects.getApplications)
    .put(users.requiresLogin, projects.hasAuthorization, projects.updateApplication)
    .delete(users.requiresLogin, projects.hasAuthorization, projects.deleteApplication);

基本上,我希望最终调用updateApplication,但如何在该方法中获取应用程序ID?

假设您要将某个内容上载到服务器,该内容将触发您的
put
路由,该路由包含您要调用的函数

您需要这样构造句柄:

function(request,response,next){ // usually abbreviated to `req,res`
    handleData();
    next(); // move onto the next function;
}
这些参数很容易记住,请求在响应之前,然后是下一个-只有当您想转移到另一个处理程序时才需要下一个

如果不调用
next()
路由将停止-一旦授权成功,您可能需要调用next

数据保存在请求正文中,因此您可以使用
request.body


注意:记得回复你的用户-用类似于
res.send(“success”)
的东西,否则他们会超时的。身体是关键。谢谢