微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node.js – Express Framework app.post和app.get

我是快速框架的新手.我在快速API参考中找不到application.post()方法的文档.有人可以提供我可以在函数中放入的所有可能参数的一些示例吗?我用以下示例阅读了几个网站,第一个参数是什么意思?

>我知道第二个参数是回调函数,但我们究竟在第一个参数中添加了什么?

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

>此外,假设我们希望用户以特定格式发布(向我们的服务器发送数据)ID号([{id:134123,url:www.qwer.com},{id:131211,url:www.asdf .COM}]).然后,我们想要提取ID并从我们服务器的某个位置检索那些ID的数据.我们如何编写app.post方法,允许我们操作对象数组的输入,这样我们只使用这些对象的ID(键)来检索必要的信息,而不管对象中的其他键.鉴于任务的描述,我们是否必须使用app.get()方法?如果是这样,我们将如何编写app.get()函数

非常感谢您的投入.

解决方法

1. app.get(‘/’,res){
这告诉express要在/它看到一个请求/并运行该函数.

一个参数是匹配的模式.有时像“/”或“/ privacy”这样的文字网址片段,您也可以进行替换,如下所示.如有必要,您还可以匹配正则表达式,如here所述.

Express的所有内部部分都遵循函数(req,res,next)模式.传入的请求从中间件链的顶部开始(例如bodyParser)并传递,直到某些内容发送响应,或者表达到链的末尾和404.

您通常将app.router放在链的底部.一旦Express到达那里,它开始匹配所有app.get(‘path’…,app.post(‘path’…等)的请求,按照它们的设置顺序.

变量替换:

// this would match:
// /questions/18087696/express-framework-app-post-and-app-get

app.get('/questions/:id/:slug',next){
  db.fetch(req.params.id,function(err,question){
    console.log('Fetched question: '+req.params.slug');
    res.locals.question = question;
    res.render('question-view');
  });
});

一个():
如果您将处理函数定义为函数(req,next){},则可以调用next()来生成,将请求传递回中间件链.你可能会这样做,例如一条小路:

app.all('*',next){
  if(req.secure !== true) {
    res.redirect('https://'+req.host+req.originalUrl);
  } else {
    next();
  };
});

再次,订单很重要,如果您希望它在那些之前运行,您必须将其置于其他路由功能之上.

我之前没有张过json,但@ PeterLyon的解决方案对我来说很好.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐