我在通过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);
}
}
});
}
希望有人可以帮助我,或者至少给我一个主意。