6
votes

Succès Ajax / JQuery: / Erreur: Manipulation de la fonction

avoir des problèmes avec Ajax / JQuery. Voici le contexte de mon problème suivi d'un échantillon de code:

Ce que je tente de faire est d'appeler un script PHP appelé getinfo.php et vérifiez si certaines données sont contenues dans une base de données. Je peux écrire des requêtes assez facilement, mais en termes d'échantillon de code ci-dessous, comment puis-je "dire" la fonction de réussite d'échouer s'il ne peut pas trouver de données dans la base de données et exécuter la fonction d'erreur à la place? P>

$(document).ready(function(){
        getInfo();
        function getInfo(){
            $.ajax({
                type: "GET",
                url: "getInfo.php",
                data: "do=getInfo",
                cache: false,
                async: false,
                success: function(result) {
                    $("#myInfo").remove();
                    alert("Data found");
                },
                error: function(result) {
                    alert("Data not found");
                }
            });
        }
});


1 commentaires

Vous pouvez avoir la sortie du côté PHP un message d'erreur et dans votre fonction de fonction de réussite pour voir si le résultat correspond à l'erreur, et si vous alerte («données non trouvées»);


4 Réponses :


6
votes

Le gestionnaire d'erreur est utilisé pour gérer les erreurs dans votre appel AJAX.

Vous pouvez echo 1 dans votre script php si les données ont été trouvées et 0 si elle n'a pas été trouvé. Ensuite, vous pouvez utiliser une instruction IF pour déterminer quoi faire. Par exemple: xxx


1 commentaires

Et si elle n'est pas une réponse du script php - nous n'avons donc pas 0 ni 1?



2
votes

La fonction "Erreur" que vous utilisez est d'identifier et de gérer une erreur AJAX, pas une erreur de script. Si le script que vous appelez est trouvé, et il s'exécute sans terminer de manière inattendue (c'est-à-dire qu'il a des erreurs!), Alors sa considération comme un succès.

La meilleure chose à faire est que votre script getinfo.php renvoie quelque chose que vous pouvez utiliser dans la fonction de réussite; tels que le nombre de lignes dans votre jeu de résultats ou quelque chose - alors vous pouvez enregistrer le succès () que vous disposiez de données et de code en conséquence.


0 commentaires

0
votes

Je pense que votre page getinfo.php doit simplement imprimer le succès ou l'échec et dans votre méthode de réussite do xxx


0 commentaires

3
votes

"Succès" est appelé lorsque le code retourné est une "200" (demande réussie). "Erreur" est appelée chaque fois qu'un autre code est renvoyé (par exemple 404, 500).

Alors je pense que vous pouvez faire 2 choses:

  • laissez PHP renvoyer une 404 afin que la fonction d'erreur soit appelée
  • laissez votre getinfo.php retourner une valeur booléenne (généralement mon approche)

    {"succès": vrai, ...}


0 commentaires