Вызов jQuery Ajax иногда выдает ошибку после успешного завершения, при переходе от

#jquery #ajax #asp.net-ajax

#jquery #ajax #asp.net-ajax

Вопрос:

У меня есть вызов jQuery ajax POST, который полностью работает; данные сохранены, сервер выполняется нормально, возвращает статус 200, и срабатывает событие успеха… но тогда иногда также возникает событие ошибки *!

В случае успешного выполнения я перехожу на другую страницу.

Если я не удаляюсь, событие ошибки не запускается.

 $.ajax({
    url: serviceUrl   '/SetOptionLineStructure',
    data: JSON.stringify({ "content": RetrieveLineStructure() }),
    success: function (data) {
        $('#resultText').html('Succeeded');

        if (data.d.Succeeded) {
            window.location.href = "Anotherpage.aspx";
            }
        }
    },
    error: function (xhr, textStatus, thrownError) {
        $('#resultText').html('An error occurred saving: '   textStatus   ' '   xhr.status);
    },
    complete: function (xhr, textStatus) {
    }
});
  

Итак, я вижу «Успешно», за которым быстро следует «Произошла ошибка сохранения: ошибка 0».
Я думаю, что каким-то образом переход на другую страницу в этот момент не позволяет ajax-запросу закрыться должным образом.

Это несколько косметично, потому что функциональность на самом деле отличная, но мы кратко показываем сообщение об ошибке. Я мог бы подавить это с помощью взлома, но это кажется уродливым.

  • Иногда: это происходит только при некоторых вызовах ajax. Я не разобрался с шаблоном, какие из них вызывают проблему, а какие нет.

Приветствия

Комментарии:

1. Ну, я добавил свой взлом глобальной переменной, чтобы подавить сообщение об ошибке. На первый взгляд все выглядит прекрасно 🙂