使用jquery.forms.js选项从操作中获取返回值…MVC3

使用jquery.forms.js选项从操作中获取返回值…MVC3,jquery,asp.net-mvc-3,Jquery,Asp.net Mvc 3,Im包括流行的jquery.form.js文件。我有以下资料: var options = { beforeSubmit: beforeSubmit, // pre-submit callback success: afterSubmit // post-submit callback }; $('#myForm').submit(function (e) { $(this).ajaxSubmit(options); return false

Im包括流行的jquery.form.js文件。我有以下资料:

 var options = {
    beforeSubmit: beforeSubmit,  // pre-submit callback 
    success: afterSubmit  // post-submit callback 
  };

 $('#myForm').submit(function (e) {
     $(this).ajaxSubmit(options);
     return false;
  });


 function afterSubmit(responseText, statusText, xhr, $form) {
   // i want to check for an error
}
我称之为:

    [HttpPost] 
    public string UploadDocument(DocumentModel model)
    {
        if (noerror)
        return "ok";
        else
         return "the error";
    }
返回字符串存储在参数“responseText,statusText,xhr,$form”的某个位置


我的返回字符串存储在哪里,或者如何存储它,以便在调用'afterSubmit'javascript函数时检查结果?谢谢不要从控制器操作返回字符串。在ASP.NET MVC中,控制器操作应返回操作结果:

[HttpPost] 
public string UploadDocument(DocumentModel model)
{
    if (noerror)
        return Content("ok");
    else
        return Content("the error");
}
然后结果将存储在
responseText
变量中

显然,在javascript
if(responseText=='ok')
中进行测试看起来非常可怕,因此有JSON:

[HttpPost] 
public string UploadDocument(DocumentModel model)
{
    if (noerror)
        return Json(new { success = true });
    else
        return Json(new { success = false });
}
因此,在javascript中,您可以直接使用底层类型(本例中为布尔型):


从不从控制器操作返回字符串。在ASP.NET MVC中,控制器操作应返回操作结果:

[HttpPost] 
public string UploadDocument(DocumentModel model)
{
    if (noerror)
        return Content("ok");
    else
        return Content("the error");
}
然后结果将存储在
responseText
变量中

显然,在javascript
if(responseText=='ok')
中进行测试看起来非常可怕,因此有JSON:

[HttpPost] 
public string UploadDocument(DocumentModel model)
{
    if (noerror)
        return Json(new { success = true });
    else
        return Json(new { success = false });
}
因此,在javascript中,您可以直接使用底层类型(本例中为布尔型):