哪些事件/操作/方法会触发http Post请求?

时间:2016-10-03 23:27:37

标签: javascript ajax http express routes

从快递应用程序中考虑以下代码:



var express = require('express');
var router = express.Router();
var standupCtrl = require('../controllers/standup.server.controller');

/* GET home page. */
router.get('/', function(req, res) {
  return standupCtrl.list(req, res);
});

/* POST filter by member name - home page. */
router.post('/', function(req, res) {
    return standupCtrl.filterByMember(req, res);
});

// ............ more code here

module.exports = router;






exports.list = function(req, res) {
    var query = Standup.find();

    query.sort({ createdOn: 'desc'}).limit(12).exec(function(err, results){
           res.render('index', {title: 'Standup - List', notes: results});
        });

};

exports.filterByMember = function(req, res) {
    var query = Standup.find();
    var filter = req.body.memberName;

    query.sort({ createdOn: 'desc' });

    if (filter.length > 0)
    {
        query.where({ memberName: filter})
    }

    query.exec(function(err, results) {
        res.render('index', { title: 'Standup - List', notes: results });
    });
};




我知道在提交表单时,您可以指定

  

method = get / post

对于这种情况(没有指定任何此类情况),当用户导航到' /'时,服务器如何知道触发(发布或获取)的内容。 (例如主页)?

更一般地说,我的问题是:

哪些事件会触发发布/获取操作(如果未明确指定)?

(PS:我知道在浏览器的地址栏中输入任何内容会触发GET请求)

提前多多感谢!

1 个答案:

答案 0 :(得分:0)

如果你没有另外指定,HTTP GET几乎是默认的。

大多数POST都是表单提交或通过AJAX显式调用或作为Web服务调用(如来自其他服务器的RPC)的结果。您可以使用curl等程序手动处理POST请求,但这种情况很少见。在我见过的每个工具包中,默认情况下都是GET。

很少(非常),您可能会找到一些只提供POST的RPC提供程序(例如IoT或其他嵌入式设备)(以节省代码空间)。