AJAX调用后返回查看(return view after ajax call)

2019-09-01 20:55发布

与jQuery的异步调用后,我怎么能返回particolar看法?

这是我的来电者的观点:

<script type="text/javascript">

    function Run() {

        $.ajax({
            type: "POST",
            cache: false,
            url: "/Home/Run",
            data: $("#form_run").serializeArray(),
            dataType: "json"
        });

    }

</script>
<form action="javascript:return true;" method="post" id="form_run">
    <input type="text" id="nome" name="nome" />
    <input type="text" id="cognome" name="cognome" />
    <input type="submit" name="submit" value="Run" onclick="Run();" />
</form>

这是我的控制器操作:

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Run(string nome, string cognome)
    {
        return View("Result");
    }

不能显示视图“结果”怎么了?

Answer 1:

你不能返回View来自异步调用。 一个Ajax请求是为了避免做一个完整的页面周期。

你应该只是做一个POST回来,如果你想要一个新View要返回。

另一个选项是有根据的Ajax调用成功的回调和设置window.locationView使页面做一个GET到新的View



Answer 2:

使用回拨功能,将用户重定向一旦AJAX返回。

ajax(/*suff*/).success(callbackFuntion);

然后在回调

function callbackFuntion(){

    window.location = "www.google.com";
}


Answer 3:

在常见的ASP.NET MVC worklfow一个视图相关联的控制器。 所以,如果你想改变一个视图,以呈现不同的HTML浏览器中的内容,基于AJAX请求,只是做的方式,该请求的URL被路由到另一个controller形成控制器返回一个新的View(...)

可以一看ASP.NET MVC意见概述

如果这不是你问什么,请澄清。



文章来源: return view after ajax call