Я делаю базовый веб-сервер, используя nodejs и express module. Он должен уметь отвечать на запросы POST
и GET
. POST
просто отлично работает, но GET
ничего не возвращает. В консоли есть textStatus ошибки parserror
и SyntaxError: Unexpected end of input at Object.parse (native) at jQuery.parseJSON
ошибка. Я новичок в 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 к '/ students.json' на моем компьютере. Я бы предположил, что это должно быть в коде в другом месте? –
В этом проблема, я хочу вернуть файл student.json обратно клиенту. Как я могу это сделать? – Ivan