1

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

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

4 回答 4

2

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

于 2013-08-06T17:29:21.467 回答
1

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

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

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

这样您就可以为您的 Web 应用程序设置所有端点。

编辑

如果您想知道何时使用 post、get 和其他方法,您可能需要查看此答案:Understanding REST: Verbs, error code, and authentication

于 2013-08-06T17:29:19.167 回答
0

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

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

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

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

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

发布请求和获取请求可以单独使用,不必在同一路由上结合使用。

于 2013-08-06T17:37:58.387 回答
0

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

于 2020-06-26T15:18:30.043 回答