Как получить правильный код состояния HTTP POST между Node.js Express и клиентом jQuery
В приложении Node.js, в котором работает Express, у меня есть настройка маршрута для приема запросов POST и создания объектов базы данных.
app.post('/', function(req, res) {
// create object in DB
res.send('');
res.status(201).end();
});
Я понимаю, что код состояния 201 указывает на успешное создание объекта. Я хочу получить статус 201 в моем JQuery POST на стороне клиента:
$.post('/', sendData).done(function(receiveData, status, xhr) {
alert(xhr.status); // returns 200 status
});
Однако я получаю статус 200, а не 201, который я пытаюсь отправить.
Что я могу изменить, чтобы получить у клиента код состояния 201, который я пытаюсь отправить с сервера?
1 ответ
Решение
Из документов
Попробуйте установить статус перед отправкой:
app.post('/', function(req, res) {
// create object in DB
res.status(201).send('');
});