2016-07-06 2 views
0

저는 한 페이지짜리 앱을 만들고 있습니다. 실제로 제대로하고 있는지 궁금합니다. 서버에서 콜백을 기다리는 각 버튼의 순간에 나는 아약스 요청을 보내고 서버에서 나는 다음과 같이 router.post/get 처리 :Nodejs 버튼/아약스 요청 처리

index.html을

<button id='baz' class'.foo'>Foo</button> 

스크립트. JS

$(document).on('click', '.foo', function() { 
    var cursor = $(this); 
    $.ajax({ 
     url: 'modalRoutes/bar', 
     type: 'POST', 
     dataType: 'json', 
     timeout: 5000, 
     data: { 
      baz: cursor.attr('id') 
     }, 
     beforeSend: function() { 
      cursor.addClass('disabled'); 
     }, 
     complete: function() { 
      cursor.removeClass('disabled'); 
     }, 
     success: function(data) { 
      // do somehting here 
     }, 
     error: function(err) { 
      console.log(err); 
     } 
    }); 
}); 

modalRoutes.js

var express = require('express'); 
var router = express.Router(); 
router.post('/bar', function(req,res){ 
    // do some stuff here 
    res.send('done') 
}); 
module.exports = router; 

내 modalRoutes.js 파일은 내가 씨 Barel, 성장 y가 시작되었고 이미 500 라인이 넘는 코드가 노드를 사용하는 버튼을 처리하는 가장 좋은 방법입니까?

+1

[pure-json-api] (https://www.npmjs.com/package/pure-json-api) 개념을 살펴보십시오. –

답변

2

당신은, 각각의 기본 기능 수출 여러 개의 모듈이 있고, 그냥이 라우터에 적용하도록 가져올 수 예 :

모듈 코드 :

modalRoutes에서
module.exports = function(router) { 
    router.post('/buylicense', function() { 
    // do some stuff here 
    res.send('done'); 
    }); 
} 

이 수행

var express = require('express'); 
var router = express.Router(); 
require('./someRoute')(router); 
// add other imports here 
module.exports = router;