gpt4 book ai didi

javascript - ASP.NET MVC RedirectToAction 在 View 中的 AJAX 发布后不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:58:27 27 4
gpt4 key购买 nike

我正在尝试从 Controller 重新加载我的 View ,以便在对我的 Controller 进行 AJAX POST 调用后显示存储在 TempData 中的数据。问题是我对方法 RedirectToAction 的调用没有重定向任何内容。

这里有一些代码示例

查看:

    $('#incidentTableBody').on('click', 'button.relayBack', function () {
Post('/Incident/RelayBack', { incidentId: $(this).parent().parent().data('id'), ownerId: $(this).parent().parent().data('ownerid') }, function () { });
});

function Post(action, data, callback) {
$.ajax({
url: action,
type: "POST",
data: data,
//error: function (jqXHR, textStatus, errorThrown) {
// console.log(errorThrown);
//},
success: callback,
cache: false
});
}

Controller :

    [Authorize]
public ActionResult IncidentList()
{
ViewBag.Title = "IncidentList";
return View();
}

[HttpPost]
[Authorize]
public ActionResult RelayBack(string incidentId, string ownerId)
{
bool success;
try
{
new Guid(_incidentService.RelayBack(new Guid(incidentId), new Guid(ownerId)));
success = true;
}
catch
{
success = false;
}

if (success)
{
TempData["Message"] = "Le ticket a bien été relancé par l'équipe support";
TempData["Class"] = "alert-success";
}
else
{
TempData["Message"] = "Une erreur est survenue lors de la relance de l'incident";
TempData["Class"] = "alert-warning";
}

return RedirectToAction("IncidentList"); // TODO : redirect doesn't work
}

我的 AJAX 调用有效并调用了我的 Controller ,然后除了最后一个(重定向)之外的所有 Controller 方法指令都正确运行。最后一个,RedirectToAction,实际上调用了应该返回我的 View 的 IncidentList(),但没有任何反应。

我尝试用 View、Redirect 替换 RedirectToAction……没有更好的事情发生。我尝试从我的 AJAX 成功回调函数重新加载,但行为不是我所期望的,我更喜欢从我的 Controller 中进行。

我已经在我的应用程序中完成了相同的操作(调用 RedirectToAction 以重新加载我的页面并显示 TempData 存储的数据),但是在提交表单 POST 而不是 AJAX 调用之后,它(AJAX)是否可能是问题的根源?

最佳答案

所以你想在发布后重定向你的页面。

将您的返回方法更改为 Json 。

return Json(new { redirectToUrl = Url.Action("action", "contoller") });

和 OnSuccess Ajax

success: function (response) {
window.location.href = response.redirectToUrl;
}

就是这样。

关于javascript - ASP.NET MVC RedirectToAction 在 View 中的 AJAX 发布后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47903390/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com