【问题标题】:What does the first string parameter of app.post do?app.post 的第一个字符串参数是做什么的?
【发布时间】:2013-08-06 17:26:16
【问题描述】:

我看到了一个 app.post() 函数的例子。 '/' 是什么意思?我们是否需要结合使用 post 和 get 方法,还是只能使用一种方法?

app.post('/', function(req, res){
    return;
});

【问题讨论】:

    标签: node.js post get express


    【解决方案1】:

    “/”是您网站的根目录。因此该函数将处理 foobar.com/ 的发布请求。您不必同时使用 post 和 get 方法。通常我使用 get 并且仅将 post 用于我想要接收发布数据的路线。

    【讨论】:

      【解决方案2】:

      您发布的代码意味着您将服务器设置为“侦听”根 url 并在浏览器点击该 url 时执行回调。

      因此,假设您使用的是 80 端口,您的 url 将是:http://localhost:80/ 由于您使用的是post 方法,因此在该url 收到post 请求时将执行回调。

      如果您要改用get 方法,那么您可以导航到该网址,将其写在浏览器地址栏上。

      这样您就可以为您的网络应用设置所有端点。

      编辑

      如果你想知道什么时候使用 post、get 和其他方法,你可能想看看这个答案:Understanding REST: Verbs, error codes, and authentication

      【讨论】:

        【解决方案3】:

        当您调用 app.post 或 app.get 时,您正在分别监听 post 或 get 请求。这些调用的第一个参数是您正在侦听请求的路由。所以在下面的代码中:

        app.post('/', function (req,res) {
            res.send("hello");
        }
        

        当有人向您的域根 (mydomain.com/) 发出发布请求时,您告诉服务器调用该函数。

        同样,下面的代码会告诉服务器在“/getroute”(mydomain.com/getroute) 处监听 get 请求。

        app.get('/getroute', function (req, res) {
            res.send('hello');
        }
        

        post 请求和 get 请求可以分开使用,不必在同一路由上结合使用。

        【讨论】:

          【解决方案4】:

          你看,app.post()的第一个参数是接收post数据的路由,是HTML发送的form(action = '/')意思是你的form标签的action属性,就是路由在您的 HTML 表单将发送您的数据。因此,它与 app.get 参数无关。

          【讨论】:

            猜你喜欢
            • 2015-08-12
            • 2019-05-10
            • 1970-01-01
            • 1970-01-01
            • 2015-01-05
            • 2012-05-04
            • 2023-04-07
            • 1970-01-01
            • 2023-01-20
            相关资源
            最近更新 更多