0

我有以下 jQuery:

 $.ajax({
                type: 'POST',
                url: "MyController/MyAction",
                data: $("form").serialize(),
                dataType: "json"
            });

这是 MyAction:

if(ModelState.IsValid)
{
   return RedirectToAction("OtherAction", new {id = 5});
}

我在三个不同的地方有这个设置(三个不同的动作)。在两个动作中,我可以很好地重定向。但是,在一项操作中,我无法重定向。什么都没有发生,我只是停留在同一页面上。我单步执行了我的代码,所有行都被击中MyAction,但我的断点OtherAction从未被击中。

有什么特别的事情我应该做的吗?在两个有效的情况下,我从/向同一个控制器发布。在上面的 Instance 中,jQuery 是在一个页面下HomeController发布到一个动作中MyController

4

1 回答 1

1

这不会影响主页,因为重定向到操作只会执行重定向并将重定向的响应返回给 Ajax 调用。

发出 ajax 请求的页面不会被重定向,因为响应只是被视为任何其他响应。只需一个额外的步骤(重定向)即可获得 AJAX 结果。

如果您希望主页被重定向,您可以在 ajax 请求的回调中处理它

于 2013-06-28T23:07:25.340 回答