[英]How can I pass a value from an MVC ActionResult to an AJAX success callback function?
我對控制器進行了AJAX調用,並希望從控制器接收回一個用於回調函數的值,以便我可以觸發一個事件(在本例中為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
}
}
})
});
我試圖在控制器中返回值的地方(控制器返回一個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"
});
}
我猜#SubmitButton
是form
標記內的常規提交按鈕,當單擊它時,將執行JavaScript click處理程序(以及相應的ajax請求),但不會阻止按鈕的默認行為。 進行常規表單提交,您將收到瀏覽器顯示的JSON結果。
您可以嘗試使用event.preventDefault
來防止這種默認行為(推薦):
$("#SubmitButton").on("click", function (event) {
event.preventDefault();
[ ... ]
});
或者通過在事件處理程序的末尾返回false
:
$("#SubmitButton").on("click", function () {
[ ... ]
return false;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.