La requête jQuery Ajax renvoie le succès (200 OK) mais déclenche un événement d'erreur
Votre requête jQuery Ajax renvoie toujours 200 OK, indiquant un succès réponse. Cependant, jQuery exécute toujours l'événement d'erreur au lieu de l'événement de réussite.
Le problème :
Lors de l'utilisation de $.ajax de jQuery, si le paramètre dataType est défini sur "json" (comme dans votre code), il s'attend à ce que la réponse du serveur soit un JSON valide. Cependant, dans votre cas, la réponse du serveur est HTML, ce qui n'est pas un JSON valide. Cela amène jQuery à générer une erreur d'analyse et à déclencher l'événement d'erreur.
Solution 1 : Supprimer dataType : 'json'
Une solution consiste à supprimer le paramètre dataType de votre requête Ajax. Cela permettra à jQuery d'interpréter la réponse sous forme de texte brut, qui inclura le HTML que vous envoyez depuis votre serveur.
$.ajax({ type: 'POST', url: 'Jqueryoperation.aspx?Operation=DeleteRow', contentType: 'application/json; charset=utf-8', data: json, cache: false, success: AjaxSucceeded, error: AjaxFailed });
Solution 2 : Renvoyer le JSON depuis le serveur
Vous pouvez également modifier votre code C# côté serveur pour renvoyer JSON au lieu de HTML. Cela garantira que jQuery pourra analyser correctement la réponse et exécuter l'événement de réussite.
private void test() { Response.ContentType = "application/json"; Response.Write("{ \"message\": \"Record Deleted\" }"); }
Avec cette modification, jQuery recevra une réponse JSON valide et déclenchera l'événement de réussite comme prévu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!