如果我对控制器进行ajax调用....控制器中需要发生什么,以便ajax调用然后调用
1)完成:
2)成功:
3)错误:
4)存在的任何其他回调。
对于前。我有这个ajax电话。
$.ajax({
url: "/ContactPartial/ContactUs",
type: "POST",
data: JSON.stringify(data),
dataType: 'json',
contentType: "application/json; charset=utf-8",
complete: function () { },
success: function () { },
error: function () { }
});
换句话说,我可以在/ ContactPartial / ContactUs中做什么来控制在控制器代码执行后调用3(完成,成功,错误)中的哪一个。
此外,这与return Json(new {some: data});
答案 0 :(得分:2)
这三个回调与Ajax调用的状态有关。根据呼叫成功调用这些。有关完整的详细信息,请参阅documentation
因此,如果服务器响应成功(200),则将调用Success和Complete处理程序。在完整的处理程序中,您可以放置一些代码来关闭模式窗口(无论成功或错误),并且在success函数中,您可以放置代码以让用户知道调用成功,重新加载网格视图等。另外,请记住,回调函数不必是匿名函数,它们可以是在多个Ajax调用之间共享的已定义函数。
编辑:
如果您想强制服务器生成错误,请查看:
HttpResponse类,特别是StatusCode属性
This SO帖子也解释得更多(产生401错误)