Javascript 使用Malsup Ajax表单提交后重定向到另一个操作

Javascript 使用Malsup Ajax表单提交后重定向到另一个操作,javascript,ajax,asp.net-mvc,Javascript,Ajax,Asp.net Mvc,上传完成后,如何将页面重定向到其他操作?从现在起,status.html(xhr.responseText)在创建视图内创建索引的“部分”视图。现在,Create操作返回一个JsonResult,其中包含我希望页面重定向到的url <script> $.noConflict(); jQuery(document).ready(function ($) { var bar = $('.progress-bar'); var percen

上传完成后,如何将页面重定向到其他操作?从现在起,
status.html(xhr.responseText)在创建视图内创建索引的“部分”视图。现在,Create操作返回一个JsonResult,其中包含我希望页面重定向到的url

<script>
    $.noConflict();
    jQuery(document).ready(function ($) {

        var bar = $('.progress-bar');
        var percent = $('.percent');
        var status = $('#status');

        $('#Myform').ajaxForm({
            type: "POST",
            contentType: "application/json; charset=utf-8",

            beforeSend: function () {
                status.empty();
                var percentVal = '0%';
                bar.width(percentVal);
                percent.html(percentVal);
            },
            uploadProgress: function (event, position, total, percentComplete) {
                var percentVal = percentComplete + '%';
                bar.width(percentVal);
                percent.html(percentVal);
            },
            complete: function (xhr) {
                window.location.href = xhr.url;
            }
        });
    });
</script>
指数作用

public ActionResult Index(string projectId)
        {
            IndexVideoViewModel model = new IndexVideoViewModel
            {
                Project = db.Projects.Where(project => project.Id == projectId).First()
            };

            return View(model);
        } 

将重定向响应返回到ajax调用没有任何意义。使用ajax的全部思想是进行部分页面更新。如果这不是您的意图,为什么不使用普通表单提交而不是ajax?好的,我明白了。我确实需要Ajax调用来更新进度条,而且它工作得很好。我不能做的是在文件上传完成后让页面重定向到索引操作。尝试
窗口。location.href=“yourNextPageUrl”
完成
处理程序中。我尝试了,它重定向到另一个页面,这很好。但是我似乎不知道如何获取我的索引操作方法的完整URL。我想我可以使用@Url.Action()作为href的值,但当Ajax完成时,它总是会重定向到索引。我希望创建操作返回URL,因此如果出现错误,它应该重定向到视图(“错误”),或者如果模型状态无效,我希望重定向到视图(模型)。您可以在其他操作方法中使用URL.action生成URL。请参阅以获取示例
public ActionResult Index(string projectId)
        {
            IndexVideoViewModel model = new IndexVideoViewModel
            {
                Project = db.Projects.Where(project => project.Id == projectId).First()
            };

            return View(model);
        }