Nodejs处理button / ajax请求

时间:2016-07-06 07:44:53

标签: javascript ajax node.js

我正在制作单页应用,我想知道我是否真的做得对。目前,对于等待来自服务器回调的每个按钮,我发送一个ajax请求,并在服务器上处理它router.post /如下:

的index.html

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

的script.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文件正在增长,我几乎没有启动它已经拥有超过500行代码,这是处理节点按钮的最佳方式吗?

1 个答案:

答案 0 :(得分:2)

你可以拥有多个模块,每个模块都导出一个默认功能,然后只需导入它们就可以将它们应用到路由器上,例如:

模块代码:

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

在modalRoutes中,执行:

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