我看到了一个 app.post() 函数的例子。'/' 是什么意思?我们是否需要结合使用 post 和 get 方法,或者我们可以只使用一种方法?
app.post('/', function(req, res){
return;
});
'/' 是您网站的根目录。因此该函数将处理 foobar.com/ 的发布请求。您不必同时使用 post 和 get 方法。通常我使用 get 并且仅将 post 用于我想要接收发布数据的路线。
您发布的代码意味着您将服务器设置为“侦听”根 url 并在浏览器点击该 url 时执行回调。
因此,假设您使用的是 80 端口,您的 url 将是:http://localhost:80/
由于您使用的是该post
方法,因此当在该 url 上收到发布请求时,将执行回调。
如果您要改为使用该get
方法,那么您可以导航到该 url,将其写在浏览器地址栏上。
这样您就可以为您的 Web 应用程序设置所有端点。
编辑
如果您想知道何时使用 post、get 和其他方法,您可能需要查看此答案:Understanding REST: Verbs, error code, and authentication
当您调用 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');
}
发布请求和获取请求可以单独使用,不必在同一路由上结合使用。
看,app.post()的第一个参数是接收post数据的路由,是HTML发送的 form(action = '/') 意思是你的form标签的action属性,就是你的HTML的路由表格将发送您的数据。因此,它与 app.get 参数无关。