【问题标题】:What events/actions/methods trigger a http Post request?哪些事件/动作/方法会触发 http Post 请求?
【发布时间】:2017-02-12 00:12:58
【问题描述】:

考虑以下来自 express 应用的代码:

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

我知道在提交表单时你可以指定一个

方法 = 获取/发布

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

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

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

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

提前非常感谢!

【问题讨论】:

    标签: javascript ajax http express routes


    【解决方案1】:

    如果您没有另外指定,HTTP GET 几乎是所有地方的默认设置。

    大多数 POST 是表单提交或通过 AJAX 显式调用或作为 Web 服务调用(如来自另一台服务器的 RPC)的结果。您可以使用 curl 之类的程序手工制作 POST 请求,但同样很少见。在我见过的每个工具包中,默认情况下都是 GET。

    而且很少(非常),您可能会发现一些仅使用 POST(以节省代码空间)的 RPC 提供程序(例如 IoT 或其他嵌入式设备)。

    【讨论】:

    • 谢谢您,BJ,但您能否向我推荐一些资源,我可以在此了解更多信息。不用说,我尝试了很长时间的谷歌搜索,但运气不佳。
    • @KHAN — 还有什么要说的?
    • BJ && Quentin-- 对不起,伙计们,但我在网络开发方面太落后了,即使在阅读了几次答案之后,我也没有明白。经过更多的“手术解剖”和“片段分析”**现在**我想我做到了。最重要的短语必须是“..通过 AJAX 显式调用或作为 Web 服务调用..”。
    • @BJ,请原谅新手不可原谅的缺乏知识。非常感谢,伙计:)
    • 没有汗水,@KHAN,我们都必须从某个地方开始。查看youtu.be/N-kOM6mvWKo 和youtu.be/576WwU7xlWU 以了解幕后发生的事情,并尝试更了解正在发生的事情。使用 telnet 手动执行 HTTP 在 IMO 中特别有用。祝你好运!
    猜你喜欢
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-13
    • 2015-02-08
    • 1970-01-01
    • 2020-08-02
    相关资源
    最近更新 更多