Ajax de Jquery, de retour de succès ou d'erreur de mvc.net contrôleur

Je voudrais contrôler le moment de répondre à un message d'erreur et quand un message de succès, mais je suis toujours le message d'erreur:

voici ce que je suis en train de faire:

 $.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.
                }

            });

Contrôleur:

         [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);     

               }   

            }
  • Ajouter un if condition... je ne suis pas sûr de ce que la réponse vous attend ici.
  • Votre frapper erreur, parce que le code après la première instruction de retour n'est pas en cours d'exécution. Vous pouvez déplacer le code après le commentaire pour le succès, avant que la précédente instruction de retour.
  • J'ai résolu la question. maintenant, ma question est claire.
  • Ça fait des années que cela a été demandé, mais la raison pour laquelle vous avez probablement une erreur est le datatype paramètre dans votre requête Ajax. Vous dites à l'Ajax s'attendre à une JSON, mais vous êtes de retour en texte brut: Ajax: "datatype": The type of data that you're expecting back from the server
InformationsquelleAutor Eyal | 2014-10-28