app.post()方法在nodejs中不起作用

时间:2016-11-15 05:13:22

标签: node.js mean-stack

我是MEAN Stack的新手,并且已经在Mean stack上开发了一些应用程序。但我坚持使用我的app.post()方法。浏览器的控制台出现405错误,说明该方法是不允许的。请帮助我。

这里;是我在javascript中的服务器文件代码

          var app              =express();
          var mongoose         =require('mongoose');
          var bodyParser       =require('body-parser');


      var urlencodedparser=app.use(bodyParser.urlencoded({extended:false}));
       var jsonParser = bodyParser.json()
       app.get('/',function(request,response){

        response.sendFile(__dirname+'/clients/views/index.html');
       });

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


       console.log(req.body);
     });

    var port=process.env.PORT || 3000;
    app.listen(port,function(){

    console.log('Listening to the server at port '+port);   
     });

1 个答案:

答案 0 :(得分:1)

基于Application.post() Express文档,我认为您可能希望更改帖子监听器的第一行:

app.post('/api/meetups',jsonParser,function(req,res){
    console.log(req.body);
});

对此:

app.post('/api/meetups',function(req,res){
    console.log(req.body);
});

我认为它不需要您指定的与JSON解析相关的其他参数。如果你需要解析JSON,你可能希望使用body-parser来使用像这样的中间件(你可以把它放在帖子监听器上):

var bodyParser = require('body-parser');
app.use(bodyParser.json());
祝你好运!