I would like to control when to reply an error message and when a success message but I am always get the error message:
here is what I am trying to do:
 $.ajax({                 type: "POST",                 data: formData,                 url: "/Forms/GetJobData",                 dataType: 'json',                 contentType: false,                 processData: false,                  success: function (response) {                                        alert("success!")                  },                 error: function (response) {                    alert("error") // I'm always get this.                 }              });   Controller:
         [HttpPost]             public ActionResult GetJobData(Jobs jobData)             {                var mimeType = jobData.File.ContentType;               var isFileSupported = AllowedMimeTypes(mimeType);               if (!isFileSupported){                              //  Error                     Response.StatusCode = (int)HttpStatusCode.BadRequest;                     return Content("The attached file is not supported", MediaTypeNames.Text.Plain);                  }             else               {                     //  Success                     Response.StatusCode = (int)HttpStatusCode.OK;                     return Content("Message sent!", MediaTypeNames.Text.Plain);                      }                 } 
                 $.ajax({     type: "POST",     data: formData,     url: "/Forms/GetJobData",     dataType: 'json',     contentType: false,     processData: false,                    success: function (response) {         if (response.success) {             alert(response.responseText);         } else {             // DoSomethingElse()             alert(response.responseText);         }                               },     error: function (response) {         alert("error!");  //      }  });   Controller:
[HttpPost] public ActionResult GetJobData(Jobs jobData) {     var mimeType = jobData.File.ContentType;     var isFileSupported = IsFileSupported(mimeType);      if (!isFileSupported){                  //  Send "false"         return Json(new { success = false, responseText = "The attached file is not supported." }, JsonRequestBehavior.AllowGet);     }     else     {         //  Send "Success"         return Json(new { success = true, responseText= "Your message successfuly sent!"}, JsonRequestBehavior.AllowGet);     }    }   ---Supplement:---
basically you can send multiple parameters this way:
Controller:
 return Json(new {                  success = true,                 Name = model.Name,                 Phone = model.Phone,                 Email = model.Email                                             },              JsonRequestBehavior.AllowGet);   Html:
<script>       $.ajax({                 type: "POST",                 url: '@Url.Action("GetData")',                 contentType: 'application/json; charset=utf-8',                             success: function (response) {                     if(response.success){                        console.log(response.Name);                       console.log(response.Phone);                       console.log(response.Email);                     }                   },                 error: function (response) {                     alert("error!");                  }             }); 
                        Use Json class instead of Content as shown following:
    //  When I want to return an error:     if (!isFileSupported)     {         Response.StatusCode = (int) HttpStatusCode.BadRequest;         return Json("The attached file is not supported", MediaTypeNames.Text.Plain);     }     else     {         //  When I want to return sucess:         Response.StatusCode = (int)HttpStatusCode.OK;          return Json("Message sent!", MediaTypeNames.Text.Plain);     }   Also set contentType:
contentType: 'application/json; charset=utf-8', 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With