我正在使用nodejs和express模塊製作基本的web服務器。它必須能夠響應POST
和GET
請求。 POST
工作正常,但GET
不返回任何內容。在控制檯中有一個錯誤parserror
和SyntaxError: Unexpected end of input at Object.parse (native) at jQuery.parseJSON
錯誤的textStatus。我是NodeJS和Express的新手,請告訴我哪裏出錯了。獲取請求無效服務器端
var express = require('express'),
server = express(),
fs = require('fs');
server.use(express.static('../client'));
server.post('/students.json', function (req, res) {
var bodyStr = '';
req.on('data', function (chunk) {
bodyStr += chunk.toString();
});
req.on('end', function() {
fs.readFile('students.json', function (err, data) {
var encodedObj = data.toString('utf8'), //encoding what's inside of .json into human symbols
parsedObj = JSON.parse(encodedObj);
parsedObj.push(JSON.parse(bodyStr)); //adding newly created parsed obj into array
fs.writeFile('students.json', JSON.stringify(parsedObj), function (err) { //rewriting file with new array
if (err) {
console.log(err);
}
});
});
});
});
server.get('/students.json', function (req, res) {//what's wrong???
res.send();
});
var server = server.listen(8888);
這裏運行它沒有產生任何錯誤。在我的計算機上調用get /'student.json'時,它沒有正確返回任何內容。我會認爲它必須在別處的代碼中? –
這就是問題所在,我想將students.json文件返回給客戶端。我怎樣才能做到這一點? – Ivan