Ajax jqxhr.status === 0

Пишу REST API на node JS для архива книг. В качестве БД-postgreSQL. Для написания запроса delete использовал AJAX:

$(document).ready(function(){
    $('.delete-book').on('click', function(){
        var id = $(this).data('id');
        var url = '/delete/' + id;
        console.log("id: "+id);
        if(confirm("Are you sure?")){
            $.ajax({
                url: url,
                type: 'DELETE',
                success: function(){
                    console.log("Deleting...");
                    window.location.href = '/';
                },                
                error: function(jqXHR, exception) {
                    if (jqXHR.status === 0) {
                        alert('Not connect.\n Verify Network.');
                    } else if (jqXHR.status == 404) {
                        alert('Requested page not found. [404]');
                    } else if (jqXHR.status == 500) {
                        alert('Internal Server Error [500].');
                    } else if (exception === 'parsererror') {
                        alert('Requested JSON parse failed.');
                    } else if (exception === 'timeout') {
                        alert('Time out error.');
                    } else if (exception === 'abort') {
                        alert('Ajax request aborted.');
                    } else {
                        alert('Uncaught Error.\n' + jqXHR.responseText);
                    }
                }
            });
        }
    });
});

APP.js:

app.delete('/delete/:id', (req, res) => {
    pool.connect((err, client, release) => {
        if (err) {
            return console.error('Error acquiring client', err.stack)
        }
        client.query('DELETE FROM "Books" WHERE id = $1', [req.params.id]);
    })
});

По итогу: сам запрос отправляется и книга удаляется (что видно после принудительной перезагрузки страницы), но перезагрузка страницы не происходит, в консоли браузера пишет "DELETE http://localhost:3000/delete/46 net::ERR_EMPTY_RESPONSE". Как я выяснил, sucsess вообще не срабатывает, а во вкладке "сеть" браузера запрос две минуты висит со статусом "pending", после чего выдает alert"Not connect. Verify Network", то бишь jqxhr.status === 0. Не могу понять в чем дело.


Ответы (0 шт):