89 votes

Ajax JQuery afficher les résultats dans 500 Erreur Interne du Serveur

Je suis en train d'effectuer cette AJAX post, mais pour une raison que je reçois une erreur serveur 500. Je peux le voir frapper des points de rupture dans le contrôleur. Donc le problème semble être sur le rappel. N'importe qui?

Merci!

$.ajax({
type: "POST",
    url: "InlineNotes/Note.ashx?id=" + noteid,
    data: "{}",
    dataType: "json",

    success: function(data) {
        alert(data[1]);
    },
    error: function(data){
    alert("fail");

    }

});

C'est la chaîne qui doit être retourné :

{statut:'200', texte: 'quelque Chose'}

70voto

tvanfosson Points 268301

Je soupçonne que la méthode de serveur est en train de lancer une exception quand il passe à votre point d'arrêt. Utiliser Firefox/Firebug ou la IE8 outils de développement de regarder la réponse que vous obtenez à partir du serveur. Si il y a eu une exception, vous aurez la YSOD html, ce qui devrait vous aider à savoir où chercher.

Une chose de plus, vos données de propriété doit être {} pas "{}", le premier est un objet vide tandis que le second est une chaîne qui n'est pas valide en tant que paramètre de requête. Mieux encore, il suffit de laisser sortir si vous n'êtes pas la transmission des données.

34voto

v1r00z Points 398

dans le cas où si quelqu'un en utilisant le framework codeigniter, le problème peut être causé par la protection csrf config activé.

20voto

Eyakem Points 91
$.ajax({
    type: "POST",
    url: "InlineNotes/Note.ashx",
    data: '{"id":"' + noteid'"}',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(data) {
        alert(data.d);
    },
    error: function(data){
        alert("fail");
    }
});

19voto

Stian Points 716

J'ai juste eu ce problème moi-même, même si je ne pouvais pas trouver la raison dans mon cas, lors de la modification d' POST de GET, le problème d'erreur 500 disparu!

 type:'POST'

10voto

Tom Points 13036

Vous pouvez aussi chercher les codes d'état HTTP ici, cette erreur est de vous dire:

"Le serveur a rencontré une condition inattendue qui l'a empêché de satisfaire la demande."

Vous avez besoin de déboguer votre serveur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X