<p><a href="https://api.jquery.com/jQuery.ajax/"><code>jQuery.ajax</code></a> tente de convertir le corps de la réponse en fonction du paramètre <code>dataType</code> spécifié ou de l’en-tête <code>Content-Type</code> envoyé par le serveur. Si la conversion échoue (par exemple si le JSON/XML est invalide), le callback d’erreur est déclenché.</p>
<p>Votre code AJAX contient :</p>
<pre><code class="lang-auto">dataType: "json"
</code></pre>
<p>Dans ce cas, jQuery :</p>
<p>Évalue la réponse en tant que JSON et renvoie un objet JavaScript. […] Les données JSON sont analysées de manière stricte ; tout JSON malformé est rejeté et une erreur d’analyse est levée. […] une réponse vide est également rejetée ; le serveur devrait renvoyer une réponse null ou {} à la place.</p>
<p>Votre code côté serveur renvoie un extrait HTML avec un statut <code>200 OK</code>. jQuery attendait du JSON valide et déclenche donc le callback d’erreur en signalant une <code>parseerror</code>.</p>
<p>La solution consiste à supprimer le paramètre <code>dataType</code> de votre code jQuery et à faire en sorte que le code côté serveur renvoie :</p>
<pre><code class="lang-auto">Content-Type: application/javascript
alert("Record Deleted");
</code></pre>
<p>Mais je vous suggérerais plutôt de renvoyer une réponse JSON et d’afficher le message dans le callback de succès :</p>
<pre><code class="lang-auto">Content-Type: application/json
{"message": "Record deleted"}
</code></pre>