You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AJAX调用后端方法后RedirectToAction无响应问题排查

问题:AJAX调用后端更新接口后无法跳转至Index页面

问题说明

我编写了名为ActualizarJornada的IActionResult后端方法,完成数据更新后需重定向至同一控制器的Index方法,该方法通过AJAX调用。但执行时RedirectToAction未生效,仅URL变化无页面响应,控制台无输出。尝试在AJAX的success/complete回调中设置window.location.href跳转,同时后端改为return Ok(),仍无法跳转至Index页面。

后端方法代码(ActualizarJornada)

public IActionResult ActualizarJornada(string data)
{
    DateTime jornadaDiariaEntrada = DateTime.Parse(data.Split(';')[0]);
    DateTime jornadaDiariaSalida = DateTime.Parse(data.Split(';')[1]);
    DateTime jornadaFinDeSemanaEntrada = DateTime.Parse(data.Split(';')[2]);
    DateTime jornadaFinDeSemanaSalida = DateTime.Parse(data.Split(';')[3]);

    int jornadaDiariaId = Convert.ToInt32(data.Split(';')[4]);
    int jornadaFinDeSemanaId = Convert.ToInt32(data.Split(';')[5]);
    int empleadoJornadaId = Convert.ToInt32(data.Split(';')[6]);
    
    JornadaDiarium jd = _context.JornadaDiaria.Where(x=> x.JornadaDiariaId == jornadaDiariaId).Select(x => x).FirstOrDefault();
    jd.JornadaDiariaId = jornadaDiariaId;
    jd.HoraEntrada = jornadaDiariaEntrada;
    jd.HoraSalida = jornadaDiariaSalida;
    _context.JornadaDiaria.Update(jd);
    _context.SaveChanges();

    JornadaFinDeSemana jfd = _context.JornadaFinDeSemanas.Where(x=>x.JornadaFinDeSemanaId == jornadaFinDeSemanaId).Select(x => x).FirstOrDefault();
    jfd.JornadaFinDeSemanaId = jornadaFinDeSemanaId;
    jfd.HoraEntrada = jornadaFinDeSemanaEntrada;
    jfd.HoraSalida = jornadaFinDeSemanaSalida;
    _context.JornadaFinDeSemanas.Update(jfd);
    _context.SaveChanges();

    EmpleadoJornadum ej = _context.EmpleadoJornada.Where(x => x.EmpleadoJornadaId == empleadoJornadaId).Select(x => x).FirstOrDefault();
    ej.JornadaDiariaId = jornadaDiariaId;
    ej.JornadaDiaria.HoraEntrada = jornadaDiariaEntrada;
    ej.JornadaDiaria.HoraSalida = jornadaDiariaSalida;
    ej.JornadaFinDeSemana.HoraEntrada = jornadaFinDeSemanaEntrada;
    ej.JornadaFinDeSemana.HoraSalida = jornadaFinDeSemanaSalida;
    ej.JornadaFinDeSemanaId = jornadaFinDeSemanaId;

    _context.EmpleadoJornada.Update(ej);
    _context.SaveChanges();
    
    
    Helper helper = new Helper();
    helper.ActualizarHorasExtra(ej.EmpleadoId);
    

    return RedirectToAction("Index");
}

初始AJAX调用代码

$.ajax({
    type: "POST",
    data: { data },
    url: "/EmpleadoJornada/ActualizarJornada",
    
    success: function (response) {
        console.log(response)
        

    },
    failure: function (response) {
        console.log(response)
        
    },
    error: function (response) {
        console.log(response)
      
    },
    
});
    });
});

Index方法代码

public async Task<IActionResult> Index()
{
    var horasExtraDbContext = _context.EmpleadoJornada.Include(e => e.Empleado).Include(e => e.JornadaDiaria).Include(e => e.JornadaFinDeSemana);
    return View(await horasExtraDbContext.ToListAsync());
}

修改后的AJAX调用代码

$.ajax({
    type: "POST",
    data: { data },
    url: "/EmpleadoJornada/ActualizarJornada",
    success: function (response) {
        window.location.href = "/EmpleadoJornada/Index";
       
    },
    failure: function (response) {
    },
    error: function (response) {
    },
    complete:function(response){
        window.location.href = "/EmpleadoJornada/Index";
    }
    
});
    });
});

内容的提问来源于stack exchange,提问作者R Marco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 14:12:51