C#MVC Ajax post,在服务器处理过程中提供即时用户文本反馈
当服务器忙于处理我的ajax请求时,我试图给我的用户一些文本反馈 我的一些函数需要一些时间来运行。例如,我的表单帖子执行以下操作:C#MVC Ajax post,在服务器处理过程中提供即时用户文本反馈,c#,ajax,model-view-controller,ajaxform,C#,Ajax,Model View Controller,Ajaxform,当服务器忙于处理我的ajax请求时,我试图给我的用户一些文本反馈 我的一些函数需要一些时间来运行。例如,我的表单帖子执行以下操作: 获取用户列表 获取链接到用户的作业列表 获取链接到用户的所有通知 获取链接到用户的所有候选对象 生成所有候选电子邮件 发送所有候选人电子邮件 因此,在执行上述每个操作之前,我希望向html页面发送反馈,告知用户当前正在进行的操作,而不是显示静态ajax加载程序 例如,生成用户列表>获取通知>获取候选人>发送电子邮件 我目前正在用jquery.form.js发布表
- 获取用户列表
- 获取链接到用户的作业列表
- 获取链接到用户的所有通知
- 获取链接到用户的所有候选对象
- 生成所有候选电子邮件
- 发送所有候选人电子邮件
@using (Ajax.BeginForm("RejectApplicant", "Application", new AjaxOptions() { HttpMethod = "Post" }, new { @id = "RejectApplicantForm", enctype = "multipart/form-data" }))
{
// Token
// all required input fields here
}
$(function () {
$('#RejectApplicantForm').ajaxForm({
beforeSubmit: function (arr, $form, options) {
// return Validate()
},
complete: function (result) {
// get results
}
});
});
有什么想法吗?你说你想这么做。您尝试过什么?查看HttpMessages,尝试使用消息设置ViewBags,但是在整个操作完成之前,我无法让html或ajax读取我设置的变量。为什么不将每个长时间运行的函数作为一个单独的方法,只进行一系列ajax调用呢?考虑到我正在制作一个表单post,这似乎不是一个很好的主意,在后端发生了一些多线程的情况,我不想通过分解成单独的调用来破坏任何类型的并行性。在某些情况下,新操作取决于以前操作的结果。