【发布时间】:2013-08-06 17:26:16
【问题描述】:
我看到了一个 app.post() 函数的例子。 '/' 是什么意思?我们是否需要结合使用 post 和 get 方法,还是只能使用一种方法?
app.post('/', function(req, res){
return;
});
【问题讨论】:
我看到了一个 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 收到post 请求时将执行回调。
如果您要改用get 方法,那么您可以导航到该网址,将其写在浏览器地址栏上。
这样您就可以为您的网络应用设置所有端点。
编辑
如果你想知道什么时候使用 post、get 和其他方法,你可能想看看这个答案:Understanding REST: Verbs, error codes, and authentication
【讨论】:
当您调用 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 请求可以分开使用,不必在同一路由上结合使用。
【讨论】:
你看,app.post()的第一个参数是接收post数据的路由,是HTML发送的form(action = '/')意思是你的form标签的action属性,就是路由在您的 HTML 表单将发送您的数据。因此,它与 app.get 参数无关。
【讨论】: