2017-04-26 110 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