Я столкнулся с проблемой в Firefox (не происходит в IE), когда мой Javascript запускает вызов службы, что может занять некоторое время для загрузки. Если пользователь переходит на другую страницу до завершения вызова, вызывается метод error
объекта jQuery.ajax()
.
Я ищу способ:
- Не выдается ошибка, когда пользователь переходит на другую страницу, когда запрос еще не завершен, ИЛИ
- Пусть метод ошибок различает «настоящие» ошибки и эту ошибку.
Мой метод ошибок, что неудивительно, показывает пользователю ошибку, и я не хочу делать это, когда ошибка вызвана переходом на другую страницу.
Мой простой тестовый код включает в себя следующий Javascript и сервис, который спит в течение 20 секунд, а затем возвращает строку.
<script type="text/javascript" language="javascript">
$(document).ready(function ()
{
$('#testLink').click(function ()
{
$.ajax({
type: "POST",
url: "/Services/NU.Web.NUnet.Services.UserService.asmx/LongRunningService",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data, textStatus, xhr)
{
console.log(data);
console.log(textStatus);
console.log(xhr);
},
error: function (xhr, textStatus, errorThrown)
{
console.log(xhr);
console.log(textStatus);
console.log(errorThrown);
}
});
});
});
</script>