在ajax响应中打开新页面

时间:2017-08-25 06:32:42

标签: jquery ajax asp.net-mvc

我跟随ajax调用,我曾经调用过控制器方法。

self.ajax = function (url, postData, callBack, callBackParam) {
        $.ajax({
            url: url,
            type: "GET",
            data: postData,
            success: function (data) {

            },
            error: function () {
                alert();
            },
        });
    }

当我执行它时,它的工作正常,这将转到我在函数中提到的相关URL。以下是我的控制器方法。

 public ActionResult Details()
{
 return View();
}

在这个控制器中,我正在调用一个单独的视图。我想要的是使用此视图打开新页面。在这种情况下是否可能?

因为在这里最终的ajax响应是成功代码所以我没有看到任何方式将其作为单独的页面打开。

感谢。

1 个答案:

答案 0 :(得分:0)

如果我找对你,

您将拥有一个Controller方法,您可以使用必要参数调用'GET'

public ActionResult PostMethod(YourModel Object)
{
    return Json(true);
}

另一种返回视图的方法

public ActionResult Details() 
{   
    return View(); 
}

所以在你的ajax调用中,你将调用你正在通过的PostMethod 参数及其成功后,页面Details将在新窗口中打开。

self.ajax = function (url, postData, callBack, callBackParam) {
    $.ajax({
        url: url,
        type: "GET",
        data: postData,
        success: function (data) {
            if(data){
                window.open("url of Details View", "_blank"); // site.com/controller/Details
            }
        },
        error: function () {
            alert();
        },
    });
}