Как получить правильный код состояния 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('');
});
Другие вопросы по тегам