从快递应用程序中考虑以下代码:
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请求)
提前多多感谢!
答案 0 :(得分:0)
如果你没有另外指定,HTTP GET几乎是默认的。
大多数POST都是表单提交或通过AJAX显式调用或作为Web服务调用(如来自其他服务器的RPC)的结果。您可以使用curl等程序手动处理POST请求,但这种情况很少见。在我见过的每个工具包中,默认情况下都是GET。
很少(非常),您可能会找到一些只提供POST的RPC提供程序(例如IoT或其他嵌入式设备)(以节省代码空间)。