У меня проблема с перенаправлением пользователя на другую страницу после публикации на сервере с помощью ajax-запроса. Я пытался возвратить true, чтобы разрешить действие по умолчанию, но проблема в том, что я не знаюкогда мой ajax-запрос будет завершен, и если он будет успешным или нет из-за его асинхронности, возможно, что браузер перенаправляет пользователя перед сохранением данных.
Обновление № 1 Чтобы быть более понятным, моя проблема с строкой window.location.replace (url GoTo) в полной функции обратного вызова, я никуда не перенаправлен, код работает нормально до этой строки, у меня естьне получил никаких ошибок во время выполнения.Также, если я отлаживаю код, он работает так, как я ожидаю, что он делает это, за исключением инструкции по перенаправлению, которая полностью игнорируется.
Моя функция щелчка выглядит следующим образом:
self.save = function (viewmodel, event) {
var data = ko.toJSON(self);
$.ajax({
type: "POST",
dataType: "JSON",
url: "/Titulo/Create/",
contentType: "application/json",
data: data,
beforeSend: function () {
$("#messageContainer").html('<p><span class="fas fa-spinner fa-pulse"></span> Guardando...</p>');
},
success: function (data) {
if (data.Success) {
$("#messageContainer").html('<p><span class="fas fa-spinner fa-pulse"></span>¡Guardado con exito!</p>');
} else {
$("#messageContainer").html('<p><span class="fas fa-spinner fa-pulse"></span>¡Ha ocurrido un problema al procesar esta operación!</p>');
}
},
error: function (request, textStatus, errorThrown) {
$("#messageContainer").html('<p><span class="fas fa-spinner fa-pulse"></span>¡Ha ocurrido un problema al procesar esta operación!</p>');
},
complete: function (request, textStatus) {
if (textStatus === "success") {
var host = window.location.host;
var urlToGo = host + "/Titulo/Index/";
window.location.replace(urlToGo);
}
}
});
}
Надеюсь, кто-то может помочья или, по крайней мере, дать мне идею.