Comment puis-je définir le contentType d'un post jQuery ajax pour qu'ASP.NET MVC puisse le lire?

J'ai quelques jQuery qui ressemble à ceci:

$.ajax({
     type: "POST",
     url: "/Customer/CancelSubscription/<%= Model.Customer.Id %>",
     contentType: "application/json",
     success: refreshTransactions,
     error: function(xhr, ajaxOptions, thrownError) {
         alert("Failed to cancel subscription! Message:" + xhr.statusText);
     }
});

Si l'action appelé provoque une exception en fin de compte obtenir ramassé par le Global.asax Application_Error où j'ai un code comme ceci:

var ex = Server.GetLastError();
if (Request.ContentType.Contains("application/json"))
{
     Response.StatusCode = 500;
     Response.StatusDescription = ex.Message;
     Response.TrySkipIisCustomErrors = true;
}
else
{
     //some other way of handling errors ...
}

Quand j'execute le script qui fait le post de la Demande.ContentType est toujours une chaîne vide et, par conséquent, ne pas frapper le premier bloc if. Est-il une autre valeur que je doit mettre dans la ajax "contentType"? Ou est-il une autre façon pour moi de le dire asp.net que le type de contenu doit être "application/json"?

Clarification

Le but que je suis en train de réaliser est de transmettre le message de l'exception de retour à l'ajax d'événement d'erreur. Actuellement, même si le SI le bloc est ignoré, l'événement d'erreur correctement jette une boîte d'alerte, mais le message est "introuvable".

Comme vous pouvez le voir je suis en train de mettre l'exeception message pour la Réponse.StatusDescription qui, je crois, le xhr.statusText à l'ajax d'erreur.

source d'informationauteur Sailing Judo