【发布时间】:2018-10-22 05:26:24
【问题描述】:
我正在做一个 Ajax 调用,它调用如下操作方法-
action 方法在完成一些工作后返回响应。
将此响应提交回 Ajax 调用后,我想调用另一个方法。
$.ajax({
url: "/Test/TestActionMethod"; ,
data: somejsondata,
dataType: "json",
type: 'POST',
async: true,
contentType: 'application/json; charset=utf-8',
success: function (response) {
}
});
这是我的行动方法
public JsonResult TestActionMethod(bool test1, bool test2)
{
object response = null;
// some code
return Json(response, JsonRequestBehavior.AllowGet);
Save(); // Here I want to call this method
}
我知道我不能像这样调用 Save() 方法我也知道我们可以进行另一个 ajax 调用来调用此保存方法但是,我正在寻找可以在控制器本身中调用此保存方法的方法而不是进行另一个 Ajax 调用。
有什么办法吗?
[附注我不想在提交响应之前调用它,因为此函数需要时间,因此响应时间也会增加]
【问题讨论】:
-
你能在
TestActionMethod添加一些代码吗? -
@ershoaib 这是一个相当长的代码,但它运行良好。我只想在提交响应后调用 Save()
-
为什么不在
return Json(之前调用Save();? -
@ChetanRanpariya 我在问题中提到 Save() 函数需要时间来执行,所以如果我在返回响应之前调用它,响应时间会增加。所以我只想先返回响应,然后进行长时间运行的函数调用。
-
只调用 Task.Run(Save) 怎么样,这将是一个简单的火灾和忘记,并且会在 return Json() 之前;
标签: c# .net ajax asp.net-mvc-3