Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将MVC ActionResult中的值传递给AJAX成功回调函数?_Javascript_Jquery_Ajax_Asp.net Mvc 4_Callback - Fatal编程技术网

Javascript 如何将MVC ActionResult中的值传递给AJAX成功回调函数?

Javascript 如何将MVC ActionResult中的值传递给AJAX成功回调函数?,javascript,jquery,ajax,asp.net-mvc-4,callback,Javascript,Jquery,Ajax,Asp.net Mvc 4,Callback,我对控制器进行了一个AJAX调用,希望从控制器接收一个值,用于回调函数,以便触发一个事件(在本例中是剑道弹出窗口)。我很难在网上找到一个有效的例子。如果您能帮助解决这个问题,我们将不胜感激 我的AJAX调用: $("#SubmitButton").on("click", function () { $.ajax({ url: "/Workflow/SaveWorkflow", type: 'POST', data: ({ buttonTy

我对控制器进行了一个AJAX调用,希望从控制器接收一个值,用于回调函数,以便触发一个事件(在本例中是剑道弹出窗口)。我很难在网上找到一个有效的例子。如果您能帮助解决这个问题,我们将不胜感激

我的AJAX调用:

$("#SubmitButton").on("click", function () {

    $.ajax({
        url: "/Workflow/SaveWorkflow",
        type: 'POST',
        data: ({ buttonType: "Submit Form" }),
        success: function(data)
        {
            if (data.Multiple != null) {

                var window = $("#SelectUsers").data("kendoWindow");

                window.refresh({
                    url: ("Workflow", "SelectNextFormUsers"),
                    datatype: "json",
                    data: ({ formInstanceID: '@Model.FormInstanceID', userOption: 2 })
                });

                window.center();
                window.open();
            }
            else
            {
                //do nothing
            }
        }
    })
});
当我试图返回控制器中的值时(控制器返回ActionResult):

我猜
#SubmitButton
表单
标记中的一个常规提交按钮,单击该按钮时,会执行JavaScript单击处理程序(以及相应的ajax请求),但不会阻止该按钮的默认行为。发生常规表单提交时,您将收到浏览器显示的JSON结果

您可以尝试使用(推荐)来防止这种默认行为:

或者在事件处理程序的末尾返回
false

$("#SubmitButton").on("click", function () {
    [ ... ]

    return false;
});

你有什么错误?在控制台或其他http错误中?无错误,但该值不会发送到成功回调。它只显示一个白色屏幕,左上角有我传递的字符串。我在成功回调函数中有一个警报,但它从未启动。能否显示
SaveWorkflow
方法签名?您有
HttpPost
吗?谢谢您的建议,但这不是问题所在。SaveWorkflow()方法将提交表单,或者在用户提交表单之前,通过弹出窗口中断用户。如果我阻止默认行为,那么提交表单的第一个场景将无法发生。@MattParra。这就是问题所在。如果你看到一个新页面上有
{Multiple=“Multiple”}
,那么除了ajax调用之外,你还要执行一个正常的提交。我不能阻止默认设置,因为它会导致函数永远不提交,我需要它在90%的时间内提交。我想我已经找到了一个解决办法,一旦我解决了它并开始工作,我就会更新。@MattParra我仍然认为这就是问题所在。您是否可以进一步解释并添加
chtml
代码和
SaveWorkflow
方法?
$("#SubmitButton").on("click", function (event) {
    event.preventDefault();

    [ ... ]
});
$("#SubmitButton").on("click", function () {
    [ ... ]

    return false;
});