2017-04-26 102 views
0

我想从我的html发送node.js Express数据使用post方法。使用AJAX Post和Node.js Express

在我的HTML文件,使用此代码:

function readfile() { 
var data = {}; 
data.path = '/home/test/pgadmin.txt'; 
data.ext = '.txt'; 
console.log(data); 
    $.ajax({ 
    url: '/read_file', 
    type: 'POST', 
    contentType: 'application/json', 
    data: JSON.stringify(data), 
    success: function(data) { 
     console.log(data); 
    } 
    }); 
} 

这是我使用的是服务器端的代码。

var express = require('express') 
var path = require('path') 
var app = express() 

app.post('/read_file', function(req, res) { 
    console.log(req.data.path) //? 
    console.log(req.data.ext) //? 
    //I dont know how to get the values of my data: here 

}) 

是否有某种方法可以在不使用bodyparser的情况下获取这些数据值?

+0

'bodyparser'的一点是一定要能够解析请求主体 - 你为什么不希望使用bodyparser?看看[body-parser]的源代码(https://github.com/expressjs/body-parser)并复制它......或者只是使用body-parser –

+0

它只是解析请求的主体或整个html正文? –

+1

'npm install body-parser' then then app.use(require(“body-parser”)。json())' – Brian

回答

2

我不知道为什么你不希望使用bodyParser,但可以这样做,如:

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

app.use(bodyParser.json()); 

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

当然,你必须安装bodyParser NPM模块Brian指出。

How do I consume the JSON POST data in an Express application