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
中的数据。