De retour de la chaîne de l'ajax appel à l'aide de Jquery Web Méthode de ASP.NET

À l'intérieur de mon ASP.NET site, je suis en appelant une Méthode Web à l'aide de Jquery comme suit:

 $.ajax({
    type: "POST",
    contentType: "application/json; charset=utf-8",
    data: "{'param1': '" + param1 + "','param2': '" + param2+ "' }",
    dataType: 'json',
    url: "Default.aspx/TestMethod",       
    error: function (jqXHR, textStatus, errorThrown) {
        alert("error: " + textStatus);                     
    },
    success: function (msg) {
        document.getElementById("content").innerHTML = msg.d;
    }
});  

Web Définition de la Méthode est:

[System.Web.Services.WebMethod]
public static String TestMethod(String param1, String param2)
{       
     String to_return = /* result of operations on param1 and param2 */;        
     return to_return;
}

Mon résultat est une Chaîne contenant le code HTML.
C'est le travail parfait si la to_return chaîne est faible.
Mais il me donne l'erreur:

500 Erreur Interne du Serveur 6.22 s

J'ai essayé de l'explorer à l'aide de FireBug en Réponse il me montre:

{"Message":"Il y a une erreur dans le traitement de la demande.","StackTrace":"","ExceptionType":""}

À l'aide de points d'arrêt dans Visual Studio, j'ai copié le to_return chaîne de caractères dans un fichier texte. La taille du fichier est devenu: 127 KO.
Ce qui s'est mal passé?

Avant d'aller plus loin, pourquoi faites-vous ceci: data: "{'param1': '" + param1 + "','param2': '" + param2+ "' }"? Vous pouvez déclarer un réel objet JavaScript, vous n'avez pas à faire une chaîne de caractères qui représente l'objet.
Merci pour le heads up. En fait, je suis de nouveau à des appels Ajax. Je vais sûrement mettre à jour mon code pour utiliser l'Objet JavaScript.
J'élargirai votre error fonction de rappel pour ne console.log(errorThrown); puis utilisez votre navigateur outils de développement pour voir ce qui est enregistré dans la console; il peut vous donner une idée plus claire de ce qu'est l'erreur. Vérifiez également que le to_return chaîne représente JSON valide dans la requête qui ne fonctionne pas; jQuery erreur si il ne peut pas analyser la réponse en JSON lorsque vous spécifiez dataType: 'json'.

OriginalL'auteur user1808827 | 2012-12-17