Jquery 无法在json post之后重定向

Jquery 无法在json post之后重定向,jquery,json,asp.net-mvc-3,jquery-ui,modal-dialog,Jquery,Json,Asp.net Mvc 3,Jquery Ui,Modal Dialog,我的视图中有以下jquery代码 <script type="text/javascript"> $(document).ready(function () { $("#dialog-confirm").dialog({ autoOpen: false, modal: true, resizable: false, width: '500px' })

我的视图中有以下jquery代码

<script type="text/javascript">
    $(document).ready(function () {
        $("#dialog-confirm").dialog({
            autoOpen: false,
            modal: true,
            resizable: false,
            width: '500px'
        });

        $(".deleteLink").click(function (e) {
            e.preventDefault();
            var targetUrl = $(this).attr("href");
            var dID = $(this).attr("id");
            $("#dialog-confirm").dialog({
                buttons: {
                    "Confirm": function () {
                        $.ajax({
                            url: '@Url.Action("DeleteSession")',
                            type: 'POST',
                            data: { id: dID },
                            success: function (data) {
                                    window.location.herf = data.redirectToUrl;
                            }
                        });
                    },
                    "Cancel": function () {
                        $(this).dialog("close");
                    }
                }
            });

            $("#dialog-confirm").dialog("open");
        });
    });
</script>
控制器方法DeleteSession返回一个Json结果

控制器:

[HttpPost]
public JsonResult DeleteSession(int id)
{

    try
    {
        sRep.DeleteSession(id);
        return Json(new {success = true, redirectToUrl = Url.Action("Index")});
    }
    catch (Exception e)
    {
        return Json(new {success = false, redirectToUrl = Url.Action("DisplayError", new { eerror = 
                                    "Unable to delete the course. " + "Internal error: " + e.Message})});
    }

}
我已经检查了Json结果,它看起来很好。唯一的问题是window.location.herf=data.redirectToUrl;它不起作用。页面未重定向,对话框仍在屏幕上

知道我做错了什么吗?

我想你是想做window.location.href

您的原始代码:

window.location.herf = data.redirectToUrl;
应改为:

window.location.href = data.redirectToUrl;
我想你是想做window.location.href

您的原始代码:

window.location.herf = data.redirectToUrl;
应改为:

window.location.href = data.redirectToUrl;
你也可以使用

$(window.location).attr('href',data.redirectToUrl);
你也可以使用

$(window.location).attr('href',data.redirectToUrl);

不幸的是,当您在一段代码上工作了很长一段时间后,通常会出现这种情况。这就是为什么每隔一段时间休息一下是件好事。当您第一次查看某些代码或稍作休息后,很容易发现一些小错误。不幸的是,当您已经在一段代码上工作了很长时间时,通常会出现这种情况。这就是为什么每隔一段时间休息一下是件好事。当你第一次看到一些代码或者在稍作休息后,发现一些小错误会更容易。哈哈,这不是我唯一的错误。。。我显然需要离开电脑一点。哈哈,这不是我唯一的打字错误。。。我显然需要离开电脑一点。这样做有什么好处吗?当原生js更短、更清晰时,为什么要使用jquery包装器?@serrghi更多的是跨浏览器支持问题。。。而且,我也是jquery的超级粉丝。。。我想这都是个人喜好。这样做有什么好处吗?当原生js更短、更清晰时,为什么要使用jquery包装器?@serrghi更多的是跨浏览器支持问题。。。而且,我也是jquery的超级粉丝。。。我想这完全是个人喜好