2016-10-13 5 views
2

私はmean.jsによって構造化されたプロジェクトに取り組んでいる初心者です。私はまだプロジェクト全体の構造体がどのように機能しているのか把握しようとしています。MEAN.jsパッケージのexpress.jsサーバー側ルーティングにどのようにパラメータを渡しますか。

現在、2つのモジュールがあります。プロジェクトモジュールとアプリケーションモジュール。ユーザーはプロジェクトに応募できるはずです。特定のプロジェクトの下で、私はすべてのアプリケーションを表示し、それらを受け入れる/拒否することができるはずです。

私は、特定のアプリケーションに対応するボタンをクリックすると、それはこの機能を起動し、パラメータとしてアプリケーションIDを渡します角度$リソース

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

    } 

上にカスタムメソッドを追加しました。

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); 
     } 
    } 

これは表現し、ここでは基本的にその

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); 

ためのルーティングであるためのAPI呼び出しを行う必要があり、私はてupdateApplicationを呼び出して終了したいが、どのように私は、このメソッド内のアプリケーションIDを取得していますか?

答えて

0

サーバーに何かをアップロードすると、putルートがトリガーされると想定します。これには、呼び出す機能が含まれています。

はあなたがそうのようなあなたのハンドルを構築する必要があります。

function(request,response,next){ // usually abbreviated to `req,res` 
    handleData(); 
    next(); // move onto the next function; 
} 

パラメータがによって覚えやすい、要求は応答の前に来て、その後、次の - あなたが別のハンドラに移動したいときにのみ、次の必要があります。

next()に電話をしないと、経路は停止します。承認が成功すると、おそらく次回に電話したいと思うでしょう。

データは、要求本体に保持されているので、あなたはrequest.body

注意を使用してアクセスすることができます:あなたのユーザーに対応するために覚えている - 何かをres.send("success")のように、またはそれらを

+0

男をタイムアウトしますI文字通りこれを考え出した。 Request.bodyがキーでした。ありがとう!! –

関連する問題