Express服务器接收POST请求

以下是一个Express程序


问题::我没有在客户端得到正确的JSON响应

我想知道什么::

  • 当我向客户发送邮件请求时,是否已在服务器(Express)中编写正确的代码
  • 客户端以(Key,Value)对的forms发送请求
  • 我确定获取请求结构我正面临着问题

我如何解决它?


 var express = require('express') , async = require('async') , http = require('http') , mysql = require('mysql'); var app = express(); var connection = mysql.createConnection({ host: 'localhost', user: '*************', password: "**************", database: 'restaurants' }); connection.connect(); // all environments app.set('port', process.env.PORT || 1828); app.get('/RestaurantDesc/:Key',function(request,response,next){ var keyName=request.params.Key; var name_of_restaurants, RestaurantTimings; async.series( [ // Get the first table contents function ( callback ) { connection.query('SELECT * FROM ',keyName, function(err, rows, fields) { console.log('Connection result error '+err); name_of_restaurants = rows; callback(); }); }, // Get the second table contents function ( callback ) { connection.query('SELECT * FROM RestaurantTimings', function(err, rows, fields) { console.log('Connection result error '+err); RestaurantTimings = rows; callback(); }); } // Send the response ], function ( error, results ) { response.json({ 'restaurants' : name_of_restaurants, 'RestaurantTimings' : RestaurantTimings }); } ); } ); http.createServer(app).listen(app.get('port'), function(){ console.log('Express server listening on port ' + app.get('port')); }); 

有任何想法吗?

您没有处理POST请求的路由。 你应该有像app.post('/route', function(request, response, next) { ... });

您还需要使用Express bodyparsing器从POST请求中获取数据,例如app.use(express.bodyParser()); 。 然后,您可以在中间件function中访问request.body中的数据。