如何通过在特定的Controller和action上使用Ajax调用来重定向用户

时间:2016-05-17 09:52:06

标签: javascript ajax asp.net-mvc

下面是我的Javascript函数,它会在点击Update按钮时进行更新。

function UpdateData() {

    var obj = {
        "testData": $("#hdn_EditdsVal").val(),
        "feature": $("#hdn_EditdsVal").val()
    };
    $.ajax({
        url: '@(Url.Action("UpdatePlanFeatVal", "SuperAdmin"))',
        type: "POST",
        dataType: "json",
        data: JSON.stringify(obj),            
        contentType: "application/json",
        success: function (result) {
            // want to redirect the user using ControllerName/ActionMethod
        },
        error: function (err) {

        }
    });
}

我的控制器

public ActionResult UpdatePlanFeatVal(string testData,string feature)
    {
            var cmd = (object)null;
            testData = testData.Trim();
            string[] words = testData.Split(':');

            XDocument _xdoc = new XDocument(new XElement("Pricing"));

            foreach (string word in words)
            {
                if (!string.IsNullOrEmpty(word))
                {
                    string[] wor = word.Split('_');

                    _xdoc.Root.Add(
                            new XElement("row",
                            new XElement("FeatureId", wor[1]),
                            new XElement("PlanId", wor[2]),
                            new XElement("Unit", wor[3])
                ));
                }

            }
            using (StoreProcedureContext sc = new StoreProcedureContext())
            {                    
                cmd = sc.EditPricing(_xdoc);             
            }

        return View("ManageSubscriptionPlan");
   }

它没有将我重定向到该视图并且也做了一些google并且发现我必须在Javascript本身中使用OnSuccess选项来调用url。任何想法如何在我的场景中使用JavaScript进行回发。 并且在发布之前不会修改代码。我只是希望在更新后重定向。

1 个答案:

答案 0 :(得分:2)

请在Ajax成功时更新您的javascript函数使用。

function UpdateData() {

var testData= $("#hdn_EditdsVal").val();
var feature= $("#hdn_EditdsVal").val();
};
$.ajax({
    url: '@(Url.Action("UpdatePlanFeatVal", "SuperAdmin"))',
    type: "POST",
    dataType: "json",
    data: { testData: testData, feature: feature },       
    contentType: "application/json",
    success: function (result) {
        window.location.href = '@Url.Action("Action", "Controller")';
    },
    error: function (err) {

    }
});
}