假设我将表单发布到MVC控制器并执行了以下操作
function ajaxFunction() {
$.ajax({
type: "POST",
url: "ControllerName/FirstMethod",
data: $('#form').serialize(),
success: function () {
//I'm wondering if this gets run after the FirstMethod or SecondMethod
}
});
)
控制器操作会执行某些操作,然后将其重定向到下一个这样的方法
[HttpPost]
public ActionResult FirstMethod()
{
//Some code run here
//Send to the next method
return RedirectToAction("SecondMethod");
}
public void SecondMethod()
{
//Something else done here
}
因此,整个过程是发布到FirstMethod,然后运行SecondMethod。我的问题是-Ajax success()方法何时运行?是在FirstMethod还是SecondMethod之后?
最佳答案
RedirectToAction返回HTTP状态代码302,这使AJAX对重定向URL(SecondMethod)进行GET。
仅当返回2XX HTTP代码时,才会调用jQuery AJAX成功。如果SecondMethod返回带有2XX状态代码的内容(例如View),则它将为。否则,它将永远不会被调用。