gpt4 book ai didi

javascript - 如何将值从 MVC ActionResult 传递到 AJAX 成功回调函数?

转载 作者:行者123 更新时间:2023-12-01 05:37:00 24 4
gpt4 key购买 nike

我对 Controller 进行了 AJAX 调用,并希望从 Controller 接收返回的值以用于回调函数,以便我可以触发事件(在本例中为 Kendo 弹出窗口)。我很难在网上找到有效的示例。任何解决此问题的帮助将不胜感激。

我的 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
}
}
})
});

我尝试返回 Controller 中的值( Controller 返回 ActionResult):

if (nextformRule.UserOption != (int)UserOptions.AllUser)
{
//return RedirectToAction("SelectNextFormUsers", new { forminstanceID = fmInst.FormInstanceID, userOption = nextformRule.UserOption }); //Send Email page

//string result = "multiple";

//return Json(result, JsonRequestBehavior.AllowGet);
//return Content(result);

return Json(new
{
Multiple = "multiple"
});
}

最佳答案

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

您可以尝试使用event.preventDefault来阻止这种默认行为。 (推荐):

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

[ ... ]
});

或者通过在事件处理程序末尾返回false:

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

return false;
});

关于javascript - 如何将值从 MVC ActionResult 传递到 AJAX 成功回调函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33288896/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com